有以下程序: #include<stdio.h> int fun(char*s) { chaur*p=s; while(*p++!=’\0’); return(p-s); } mmn() { char*r="01234"; printf("%d\n",fu

admin2021-07-09  17

问题 有以下程序:
#include<stdio.h>
int fun(char*s)
{
chaur*p=s;
while(*p++!=’\0’);
return(p-s);
}
mmn()
{
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://kaotiyun.com/show/TOtp777K
0

相关试题推荐
随机试题
最新回复(0)