鱼C论坛

 找回密码
 立即注册
查看: 1484|回复: 4

[已解决]求帮看一下为什么这个debug进入for的循环语句之后i=-1已经在for语句中赋初值为9了

[复制链接]
发表于 2020-3-10 13:10:15 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
void main()
{
        int i,a[10]={0,1,2,3,4};
        for(i=9;i>=0;i--);
        {
                printf("%d\n",a[i]);
        }
}
而且这个为什么就是这个输出老师说没赋初值默认是零我的程序运行之后怎么是-8555226的乱码
最佳答案
2020-3-10 13:25:47
把for循环的分号去掉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-10 13:15:43 | 显示全部楼层
for(i=9;i>=0;i--);

也不是所有编译器都会初始化为0。一般赋值部分其它的会初始化为0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 13:25:47 | 显示全部楼层    本楼为最佳答案   
把for循环的分号去掉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 13:27:28 | 显示全部楼层
本帖最后由 jackz007 于 2020-3-10 13:28 编辑

       进入循环 i = 9 有什么不妥吗?循环本来就是朝着 i 的值从 9  到 0 的方向走的呀!
       你一定没有把老师的话听全,你们老师讲的一定是,有些编译器会把没有赋值的变量初始化为 0 值,而你所使用的编译器显然不在这个范围内。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 13:34:38 | 显示全部楼层
for循环后面不能带分号,如果带了分号,说明for语句已经写完。
#include<stdio.h>
void main()
{
        int i,a[10]={0,1,2,3,4};
        for(i=9;i>=0;i--)
        {
                printf("%d\n",a[i]);
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 21:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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