有以下程序: #include<stdio.h> int fun(char *s) { char *p=s; while(*p+ +!=′\0′); return(p—s); } main( ) { char *r=″01234″; printf(″%d\

admin2019-12-17  35

问题 有以下程序:
#include<stdio.h>
int fun(char *s)
{
char *p=s;
while(*p+ +!=′\0′);
return(p—s);
}
main( )
{
char *r=″01234″;
printf(″%d\n″,fun(r));
}
程序的运行结果是(    )。

选项 A、6
B、5
C、4
D、3

答案A

解析 程序执行过程为:定义字符串指针r,并为其初始化为“01234”,调用函数fun(r),将指针传入函数while循环找到字符串的结束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址与结束符下一个地址之差,也即是字符串长度加1。输出地址差为6。
转载请注明原文地址:https://jikaoti.com/ti/DyG0FFFM
0

最新回复(0)