c语言变量作用域问题

#include <stdio.h>
int main(void)
{
    int i = 0;
    int c = 0;
    int j, m;
    for (i; i < 3; i++) {
        for (c; c < 4; c++) {
            printf("i = %d; ", i);
        }
        printf("\n");
        // printf("i = %d; ", i);
    }
    printf("------------------------------------------------------------------------\n");
    for (j = 0; j < 3; j++) {
        for (m = 0; m < 4; m++) {
            printf("j = %d; ", j);
        }
        printf("\n");
        // printf("i = %d; ", i);
    }
    return 0;
}

Laravel
为什么i在内层循环只能输入0,而不是0,1,2?
而j就会输出0,1,2?在for循环内初始化和循环外初始化有什么不同?求解答感谢,刚接触c。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

巧了,刚刚自学到这里,好像变量的声明定义是有区别的。

//....
for (i=0; i < 3; i++) {
    for (c=0; c < 4; c++) {
//....

//结果:
i = 0; i = 0; i = 0; i = 0; 
i = 1; i = 1; i = 1; i = 1; 
i = 2; i = 2; i = 2; i = 2; 
------------------------------------------------------------------------
j = 0; j = 0; j = 0; j = 0; 
j = 1; j = 1; j = 1; j = 1; 
j = 2; j = 2; j = 2; j = 2; 

file

2年前 评论
xiaoweiwei (楼主) 2年前

怎么都在学c,还有发错分类了

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!