问题
填空题
以下程序运行后的输出结果是 【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中对应位置上的字符一一比较,如果对应位置上的字符相同,则输出该字符。