问题
填空题
以下程序运行后的输出结果是 【15】 。 main() { char a[]="Language",b[]="Programe"; char,p1,*p2; int k; p1=a,p2=b; for(k=0;k<=7;k++) if*(p1+k)==*(p2+k))printf("%c",*(p1+k)); }
答案
参考答案:gae
解析:[评析] 本题定义了两个字符串数组a[],b[],字符型指针变量p1和p2,且分别指向字符串数组a和b,抽打for循环,当 if(*(p1+k)==*(p2+k))条件为真,执行输出*(p1+k)对应的字符。即当k=0时,*(p1+k)对应的字符串数组a中的字符L,*(p2+k)对应的字符串数组b中字符P,因此if(*(p1+k)==*(p2+k))条件为假,不执行printf语句,依此类推,将字符串数组a和b中对应位置上的字符——比较,如果对应位置上的字符相同,则输出该字符。