鱼C论坛

 找回密码
 立即注册
查看: 1983|回复: 3

[已解决]NO.147程序细节意义

[复制链接]
发表于 2022-2-24 16:36:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 我爱橙 于 2022-2-25 10:27 编辑
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         char c[]="abc";//定义字符c里有abc?
  5.        
  6.     int i=0;//定义初始i的值
  7.    
  8.     do;
  9.    
  10.     while(c[i++]!='\0');//c[1]不等于0?
  11.    
  12.     printf("%d",i-1);//输出1-1=0?
  13.        
  14.         return 0;
  15. }
复制代码


可以说是每一句都看不懂了

最佳答案
2022-2-24 17:13:41
do后面接分号不对吧,不过你不接分号也不影响结果
因为你do while 你可以再do while改成这样
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         char c[]="abc";//定义字符c里有abc?
  5.         
  6.     int i=0;//定义初始i的值
  7.    
  8.     do
  9.     {
  10.             printf("%d\n", i);
  11.         }
  12.     while(c[i++]!='\0');//c[i]不等于0?
  13.    
  14.     printf("%d",i-1);//输出4-1=3
  15.         
  16.         return 0;
  17. }
复制代码


还有就是 i++是先执行语句再加一, 而++i是先加一再执行语句,如果换成了++i  结果是3 - 2 = 1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-24 17:02:48 | 显示全部楼层
本帖最后由 阿萨德按时 于 2022-2-24 17:04 编辑

1.定义的是字符串数组,放abc进去
2.C语言中字符串结尾是'\0',所以c中存放的其实是a,b,c和\0。
3.这句是最后执行的,在do while语句中i++执行了4次,所以最后输出4-1是3,就是字符串的长度

个人理解 不对请大佬们指正
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-24 17:13:41 | 显示全部楼层    本楼为最佳答案   
do后面接分号不对吧,不过你不接分号也不影响结果
因为你do while 你可以再do while改成这样
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         char c[]="abc";//定义字符c里有abc?
  5.         
  6.     int i=0;//定义初始i的值
  7.    
  8.     do
  9.     {
  10.             printf("%d\n", i);
  11.         }
  12.     while(c[i++]!='\0');//c[i]不等于0?
  13.    
  14.     printf("%d",i-1);//输出4-1=3
  15.         
  16.         return 0;
  17. }
复制代码


还有就是 i++是先执行语句再加一, 而++i是先加一再执行语句,如果换成了++i  结果是3 - 2 = 1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-24 17:27:25 | 显示全部楼层
阿萨德按时 发表于 2022-2-24 17:02
1.定义的是字符串数组,放abc进去
2.C语言中字符串结尾是'\0',所以c中存放的其实是a,b,c和\0。
3.这句 ...

感谢前2条指教,后面i++还是有点绕,不过看下楼的懂了(&#65377;&#65381;ω&#65381;&#65377;)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-17 09:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表