选择题

有以下程序:

#include
int fun(char *s)
{
   char *p=s;
   while(*p++!='\0');
   return(p-s);
}
main()
{
   char *p="01234";
   printf("%d\n",fun(p));
}

程序的运行结果是(     )。

【正确答案】 A
【答案解析】

程序执行过程为: 定义字符串指针 p 并为其初始化为"01234", 调用函数 fun(p), 将指针传入函数。fun 函数功能即返回字符串首地址与结束符下一个地址之差, 也即是字符串长度加 1。 输出地址差为 6, 答案选择A 选项。