鱼C论坛

 找回密码
 立即注册
查看: 3171|回复: 7

putchar 函数的意义

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

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

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

x
#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’
循环一次打印一次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-13 16:40:32 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-13 16:59 编辑

      对于外层 for 循环的条件
i != 10 , j != 10
      而言,其值由位于逗号后面的 j != 10 来决定,所以,刚开始进入外层循环的时候,变量 j 没有被赋值, 其值非常大可能不会是 10,所以,外层循环的条件基本上是 true,进入内层循环。当内层完成一次循环的时候,j 的值就是 10 了,于是, j != 10 的值就是 false,于是,整个嵌套循环被从外层就直接结束掉了。结果,只打印出 10 个字符 'A'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-13 16:41:49 | 显示全部楼层
不太明白你的思路是什么,这样确实只能打印10个A,你是想循环打印10行吗?

PS:你的 j 没初始化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-13 17:19:19 | 显示全部楼层
kishere 发表于 2022-10-13 16:41
不太明白你的思路是什么,这样确实只能打印10个A,你是想循环打印10行吗?

PS:你的 j 没初始化

我的思路是
首先A是内循环FOR里面的
是不是内循环j加一打印一个A
然后我的疑惑是
这样外循环不是没啥用了吗
好像外循环的值不管怎么变都影响不了内循环打印十个A
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-13 19:10:50 | 显示全部楼层
本帖最后由 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'。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-14 08:14:28 From FishC Mobile | 显示全部楼层
本帖最后由 竹逸 于 2022-10-14 08:20 编辑
jackz007 发表于 2022-10-13 19:10
像这个循环,刚开始的时候,进入外层循环,i = 0,循环条件  i < 10 的值是 true,于是,进 ...


只会打印10个A吧,内循环10次后j的值是10,外循环判断j!=10不成立,就立即结束整个循环了
你修改后的代码可以,我以为你说的是楼主的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-14 08:19:47 From FishC Mobile | 显示全部楼层
竹逸 发表于 2022-10-14 08:14
只会打印10个A吧,内循环10次后j的值是10,外循环判断j

     我会不知道只打印 10 个 'A' ?我只是用我的代码举例讲解嵌套循环,不涉及楼主的代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-14 08:20:56 From FishC Mobile | 显示全部楼层
jackz007 发表于 2022-10-14 08:19
我会不知道只打印 10 个 'A' ?我只是用我的代码举例讲解嵌套循环,不涉及楼主的代码。

不好意思,看到了你修改后的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 11:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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