土沙拉 发表于 2017-12-13 16:57:53

关于16课后作业的问题

第0题打印多少个‘A’的问题,我在原代码基础上第二个for循环下方加了一行j=0;本意是希望输出100个'A'可是编译后输出无数个'A',百思不得其解,望各位大神告知原因,谢谢
#include <stdio.h>

int main()
{
      int i, j;

      for (i = 0; i != 10, j != 10; i++)
      {
                for (j = 0; j < 10; j++)
                {
                        putchar('A');
                }
                j=0;
      }

      putchar('\n');

      return 0;
}

BngThea 发表于 2017-12-13 17:10:19

你的代码 编译居然不报错吗?
j 没有初始化就进行
j != 10
的判断

土沙拉 发表于 2017-12-13 17:16:28

BngThea 发表于 2017-12-13 17:10
你的代码 编译居然不报错吗?
j 没有初始化就进行
j != 10


编译结果是无数个A

橙C 发表于 2017-12-13 17:54:53

本帖最后由 橙C 于 2017-12-13 18:00 编辑

j 没有初始化, 就是随机数要是刚刚好等于10 你就一个都打印不出来了.

for (i = 0; i != 10, j != 10; i++)改成
for (i = 0; i != 10 && j != 10; i++) 就可以了..
=============================
for (i = 0; i != 10, j != 10; i++) 判断的依据是 j != 10!!

suzumiyapc 发表于 2017-12-13 23:41:05

学会了吗?什么是逗号运算符

daniffer2017 发表于 2017-12-14 00:47:13

课后题怎么看啊没有鱼币
页: [1]
查看完整版本: 关于16课后作业的问题