小白问大家几个问题

[复制链接]
查看11 | 回复3 | 2021-1-27 05:27:05 | 显示全部楼层 |阅读模式
1、
#include
intmain()
{
inti,n;
printf("请在两行分别输入正整数n和n个正整数:");
scanf("%d\n",&n);
intnumber[n-1];

for(i=0;i=0;i--)
{
printf("%d",number);
}

return0;
}
这是一个用数组反顺序输出的程序,这样输入:
5
12245
后输出54221
但是我改变第一个for循环变成:
for(i=0;i -->
回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
第一个for循环后的那个scanf是多余的
回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
你定义的数组大小是n-1那么,你循环读入的最大下标应该为n-1-1;你读入n-1个,当然有问题.
不知道你是什么编译器.
这个intnumber[n-1];怎么也编译能通过.....
回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
引用2楼UIUI的回复:你定义的数组大小是n-1那么,你循环读入的最大下标应该为n-1-1;你读入n-1个,当然有问题.
不知道你是什么编译器.
这个intnumber[n-1];怎么也编译能通过.....

确实是这样,对数组大小理解错了,感谢

至于编译器为什么能通过我也不知道
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行