darktime 发表于 2021-3-20 21:18:28

visual c++、

c语言小白,有没有大佬帮忙看一下代码哪里出了问题。
#include <stdio.h>

int main()
{
        for (int i = 0; i < 4; i++)
        {
                for (int j = 0; j < i; j++)
                {
                        printf("%s", "");
                }
                printf("%s\n", "*****");
        }
        return 0;
}
变量使用前要先定义,但是括号里不是“int i”了么?

darktime 发表于 2021-3-20 21:21:39

我用的是visual c++ 2010(学习版)

昨非 发表于 2021-3-20 21:21:56

每个变量都有自己的作用域
也就是自己的存在范围
除了这个范围,就无效了
这里:int i 是在for循环for (int i = 0; i < 4; i++)里,只在for循环里有效

昨非 发表于 2021-3-20 21:23:52

而且:你这里i和j只作为计数器使用
并没有涉及 i 和 j 的访问(如打印等)

darktime 发表于 2021-3-20 21:32:48

昨非 发表于 2021-3-20 21:23
而且:你这里i和j只作为计数器使用
并没有涉及 i 和 j 的访问(如打印等)

那这个代码应该如何修改一下。我开始时是对i和j赋值   就是int i,j但是也不太行

Eqwer 发表于 2021-3-20 22:01:04

#include <stdio.h>
int main()
{
        int i,j;
      for (i = 0; i < 4; i++)
      {
                for (j = 0; j < i; j++)
                {
                        printf("%s", "");
                }
                printf("%s\n", "*****");
      }
      return 0;
}
https://img13.360buyimg.com/ddimg/jfs/t1/165627/35/13876/24149/60560013Ebc4a8739/1a443c066c11751e.png

昨非 发表于 2021-3-20 22:27:52

darktime 发表于 2021-3-20 21:32
那这个代码应该如何修改一下。我开始时是对i和j赋值   就是int i,j但是也不太行

为什么要对i和j进行赋值?
它们只是循环控制变量而已,
习惯上从零开始,到你的循环终止条件为止结束
别无他用啊

darktime 发表于 2021-3-20 23:32:54

昨非 发表于 2021-3-20 22:27
为什么要对i和j进行赋值?
它们只是循环控制变量而已,
习惯上从零开始,到你的循环终止条件为止结束


嗷嗷嗷,懂啦。谢谢

darktime 发表于 2021-3-20 23:33:31

Eqwer 发表于 2021-3-20 22:01


谢谢{:5_91:}

darktime 发表于 2021-3-20 23:34:01

Eqwer 发表于 2021-3-20 22:01


谢谢。{:5_91:}
页: [1]
查看完整版本: visual c++、