NO.147程序细节意义
本帖最后由 我爱橙 于 2022-2-25 10:27 编辑#include <stdio.h>
int main()
{
char c[]="abc";//定义字符c里有abc?
int i=0;//定义初始i的值
do;
while(c!='\0');//c不等于0?
printf("%d",i-1);//输出1-1=0?
return 0;
}
可以说是每一句都看不懂了{:9_222:}
本帖最后由 阿萨德按时 于 2022-2-24 17:04 编辑
1.定义的是字符串数组,放abc进去
2.C语言中字符串结尾是'\0',所以c中存放的其实是a,b,c和\0。
3.这句是最后执行的,在do while语句中i++执行了4次,所以最后输出4-1是3,就是字符串的长度
个人理解 不对请大佬们指正 do后面接分号不对吧,不过你不接分号也不影响结果
因为你do while 你可以再do while改成这样
#include <stdio.h>
int main()
{
char c[]="abc";//定义字符c里有abc?
int i=0;//定义初始i的值
do
{
printf("%d\n", i);
}
while(c!='\0');//c不等于0?
printf("%d",i-1);//输出4-1=3
return 0;
}
还有就是 i++是先执行语句再加一, 而++i是先加一再执行语句,如果换成了++i结果是3 - 2 = 1 阿萨德按时 发表于 2022-2-24 17:02
1.定义的是字符串数组,放abc进去
2.C语言中字符串结尾是'\0',所以c中存放的其实是a,b,c和\0。
3.这句 ...
感谢前2条指教,后面i++还是有点绕,不过看下楼的懂了(。・ω・。)
页:
[1]