不知君 发表于 2022-3-6 22:30:02

带你学C带你飞作业E1S16第一题

不明白为什么退出去循环,既然它第一次等于0,i++等于1,不符合if的条件,不应该执行putchar代码吗?就算putchar代码是满足i大于10的,那i也可以循环到11再执行呀,小甲鱼的视频里都可以{:10_266:}

大马强 发表于 2022-3-6 22:30:03

不知君 发表于 2022-3-7 15:49
#include

int main()


if (i > 10)
                {
                        goto Label;
                }
                putchar('B');
不进入while循环为啥还要考虑这个

不符合if的条件,不应该执行putchar代码吗?就算putchar代码是满足i大于10的,那i也可以循环到11再执行呀,小甲鱼的视频里都可以

你都不能进入while循环,
这两个语句 putchar('B') 和 putchar('\n') 必不可能执行,人家都在while循环里边

大马强 发表于 2022-3-7 10:06:43

i++ 是语句执行完再加一,而且小甲鱼的初始值不是5吗?

不知君 发表于 2022-3-7 13:05:23

大马强 发表于 2022-3-7 10:06
i++ 是语句执行完再加一,而且小甲鱼的初始值不是5吗?

不是很懂,{:10_266:}

人造人 发表于 2022-3-7 14:44:43

不知君 发表于 2022-3-7 13:05
不是很懂,

发代码

大马强 发表于 2022-3-7 15:40:50

因为你的i初始值0
所以while(i++) => while(0) 当然会跳出
要区分i++ 和 ++i 的区别

i++ 是这个语句结束后再执行加一 ,++i 先加一再执行语句

不知君 发表于 2022-3-7 15:48:54

大马强 发表于 2022-3-7 15:40
因为你的i初始值0
所以while(i++) => while(0) 当然会跳出
要区分i++ 和 ++i 的区别


大佬,是不是这个意思,i属于自然数才能进入循环,i=0语句为假,无法进入循环{:10_245:}

不知君 发表于 2022-3-7 15:49:35

人造人 发表于 2022-3-7 14:44
发代码

#include <stdio.h>

int main()
{
      int i = 0;

      while (i++)
      {
                if (i > 10)
                {
                        goto Label;
                }
                putchar('B');
      }

Label:putchar('\n');

      return 0;
}

人造人 发表于 2022-3-7 15:55:07

不知君 发表于 2022-3-7 15:49
#include

int main()


#include <stdio.h>

int main()
{
      int i = 0;

      while (i++)
      {
                printf("这行代码执行了吗?为什么?\n");
                if (i > 10)
                {
                        goto Label;
                }
                putchar('B');
      }

Label:putchar('\n');

      return 0;
}

不知君 发表于 2022-3-7 18:59:59

大马强 发表于 2022-3-7 16:17
不进入while循环为啥还要考虑这个




哦哦懂了{:10_254:}

sunsg 发表于 2022-3-8 09:17:00

退出去循环
页: [1]
查看完整版本: 带你学C带你飞作业E1S16第一题