下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char*p; p=a; for(p=a;p<a+8;p+=2)

admin2010-09-05  35

问题 下列程序段的输出结果为(    )。
   #include<stdio.h>
   main()
   {  static char a[]="language";
   char*p;
   p=a;
   for(p=a;p<a+8;p+=2)
   putchar(*p);
   }

选项 A、language
B、lnug
C、有语法错误
D、lang

答案B

解析 本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环, p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。
转载请注明原文地址:https://kaotiyun.com/show/0aWp777K
0

最新回复(0)