以下程序运行后的输出结果是【 】。 main() { char a[]="Language",b[]"Programe"; char * p1,*p2; int k; p1=a,p2=b; for(k=0;k<=

admin2010-01-10  24

问题 以下程序运行后的输出结果是【  】。
   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中对应位置上的字符一一比较,如果对应位置上的字符相同,则输出该字符。
转载请注明原文地址:https://kaotiyun.com/show/6LWp777K
0

最新回复(0)