有以下程序 #include int fun( char s[] ) { char *p = s; while( *p != 0 ) p++; return ( p-s ); } main() { printf("%d\n", fun("0ABCDE

admin2015-07-28  9

问题 有以下程序
#include
int fun( char s[] )
{
char *p = s;
while( *p != 0 ) p++;
return ( p-s );
}
main()
{
printf("%d\n", fun("0ABCDEF") );
}
程序运行后的输出结果是( )。

选项 A、7
B、6
C、1
D、0

答案A

解析 函数fun()中的while循环的逻辑是如果指针p没有到达字符串末端,则指针p一直向后移动。循环结束的时候,*p==’\0’,数组名s为一指针常量,始终指向字符数组的首地址,所以p-s则返回的是字符数组s中有的字符个数,所以输出结果为7,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/zsDp777K
0

随机试题
最新回复(0)