这两个程序有什么区别呢?有以下程序#include int fun(char *s){ char *p=s;while( *p++ = '\0');return(p-s);}main(){ char *p="01234";printf("%d\n",fun(p));}程序的运行结果是( ).AA)6B)5C)4D)3有以下程序#include int fun
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 20:44:23
![这两个程序有什么区别呢?有以下程序#include int fun(char *s){ char *p=s;while( *p++ = '\0');return(p-s);}main(){ char *p=](/uploads/image/z/13102171-43-1.jpg?t=%E8%BF%99%E4%B8%A4%E4%B8%AA%E7%A8%8B%E5%BA%8F%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%E5%91%A2%3F%E6%9C%89%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%23include+int+fun%28char+%2As%29%7B+char+%2Ap%3Ds%3Bwhile%28+%2Ap%2B%2B+%3D+%27%5C0%27%29%3Breturn%28p-s%29%3B%7Dmain%28%29%7B+char+%2Ap%3D%2201234%22%3Bprintf%28%22%25d%5Cn%22%2Cfun%28p%29%29%3B%7D%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%98%AF%EF%BC%88+%EF%BC%89.AA%EF%BC%896B%EF%BC%895C%EF%BC%894D%EF%BC%893%E6%9C%89%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%23include+int+fun)
这两个程序有什么区别呢?有以下程序#include int fun(char *s){ char *p=s;while( *p++ = '\0');return(p-s);}main(){ char *p="01234";printf("%d\n",fun(p));}程序的运行结果是( ).AA)6B)5C)4D)3有以下程序#include int fun
这两个程序有什么区别呢?
有以下程序
#include
int fun(char *s)
{ char *p=s;
while( *p++ = '\0');
return(p-s);
}
main()
{ char *p="01234";
printf("%d\n",fun(p));
}
程序的运行结果是( ).A
A)6
B)5
C)4
D)3
有以下程序
#include
int fun(char *s)
{ char *p=s;
while( *p = '\0') p++;
return(p-s);
}
main()
{ char *p="01234";
printf("%d\n",fun(p));
}
程序的运行结果是
( ).A
A)5
B)6
C)4
D)3
尤其是这两句话不理解 while( *p++ = '\0'); 是说p指向字符串中的最后一个的写一个 (\0)吗?
while( *p = '\0') p++; p++执行后是指到\0
这两个程序有什么区别呢?有以下程序#include int fun(char *s){ char *p=s;while( *p++ = '\0');return(p-s);}main(){ char *p="01234";printf("%d\n",fun(p));}程序的运行结果是( ).AA)6B)5C)4D)3有以下程序#include int fun
while( *p++ != '\0'); 当p指向\0时p++已经执行了,p=6了,而while( *p != '\0') p++; 当p指向\0时循环的条件已经不满足了,故后面的P++没有执行,所以p=5;