猿问

109. 设有如下函数定义:

109. 设有如下函数定义:
int fun(char *str)
{ char *p=str;
while ( *p != '\0') p++; 
return (p-str);
}
则以下语句执行后的输出结果是( )。
printf("%d\n",fun("Student"));
A. 7
B. 8
C. 9
D. 10

求会的大神详细解析下,拜托了

包小龙虾
浏览 916回答 1
1回答

凌丶星护

从函数定义的部分开始解析:要求传入的是一个字符类型的指针(亦或者理解为字符串的首地址)然后将str的值传递给p(p中此时存储的就是字符串首地址)开始循环,直到p指向的位置为'\0'(也就是说,到达了字符串的末尾)然后返回p与传入指针的差值(也就是末尾的地址减去首地址,返回的就是字符串的长度)实例:已经知道函数返回字符串的长度,student的长度为7,选择A选项
随时随地看视频慕课网APP
我要回答