putchar 函数的意义
#include <stdio.h>int main()
{
int i, j;
for (i = 0; i != 10, j != 10; i++)
{
for (j = 0; j < 10; j++)
{
putchar('A');
}
}
putchar('\n');
return 0;
}
这里的外循环for是不是没有意义 好像只要我内循环满足条件 就会输出一个‘A’
循环一次打印一次 本帖最后由 jackz007 于 2022-10-13 16:59 编辑
对于外层 for 循环的条件
i != 10 , j != 10
而言,其值由位于逗号后面的 j != 10 来决定,所以,刚开始进入外层循环的时候,变量 j 没有被赋值, 其值非常大可能不会是 10,所以,外层循环的条件基本上是 true,进入内层循环。当内层完成一次循环的时候,j 的值就是 10 了,于是, j != 10 的值就是 false,于是,整个嵌套循环被从外层就直接结束掉了。结果,只打印出 10 个字符 'A' 不太明白你的思路是什么,这样确实只能打印10个A,你是想循环打印10行吗?
PS:你的 j 没初始化 kishere 发表于 2022-10-13 16:41
不太明白你的思路是什么,这样确实只能打印10个A,你是想循环打印10行吗?
PS:你的 j 没初始化
我的思路是
首先A是内循环FOR里面的
是不是内循环j加一打印一个A
然后我的疑惑是
这样外循环不是没啥用了吗
好像外循环的值不管怎么变都影响不了内循环打印十个A 本帖最后由 jackz007 于 2022-10-13 19:18 编辑
学不死就死里xue 发表于 2022-10-13 17:19
我的思路是
首先A是内循环FOR里面的
是不是内循环j加一打印一个A
for(i = 0 ; i < 10 ; i ++) {
for(j = 0 ; j < 10 ; j ++) {
putchar('A') ;
}
}
像这个循环,刚开始的时候,进入外层循环,i = 0,循环条件i < 10 的值是 true,于是,进入内层循环,内层循环自然是从 j = 0 开始,循环条件 j < 10 为 true,每循环一次,就会执行 putchar('A') 语句 1 次, j 的值就会加 1,循环 10 次后,j 的值是 10,循环条件 j < 10 为 false,内层循环就会结束,于是,返回到外层循环,执行 i = i + 1,i = 1,循环条件 i < 10 的值是 true,于是,又进入内层循环,重复一遍上一次内层循环的全部过程......,这样,到外层也循环了 10 次的时候,i = 10,循环条件 i < 10 为 false,外层循环(也就是整个循环)结束。整个循环过程 putchar('A') 被执行了 10 x 10 = 100 次,就是说,会打印 100 个 'A'。 本帖最后由 竹逸 于 2022-10-14 08:20 编辑
jackz007 发表于 2022-10-13 19:10
像这个循环,刚开始的时候,进入外层循环,i = 0,循环条件i < 10 的值是 true,于是,进 ...
只会打印10个A吧,内循环10次后j的值是10,外循环判断j!=10不成立,就立即结束整个循环了
你修改后的代码可以,我以为你说的是楼主的代码{:10_250:} 竹逸 发表于 2022-10-14 08:14
只会打印10个A吧,内循环10次后j的值是10,外循环判断j
我会不知道只打印 10 个 'A' ?我只是用我的代码举例讲解嵌套循环,不涉及楼主的代码。 jackz007 发表于 2022-10-14 08:19
我会不知道只打印 10 个 'A' ?我只是用我的代码举例讲解嵌套循环,不涉及楼主的代码。
不好意思,看到了你修改后的代码{:10_254:}
页:
[1]