C语言定义一个数组a[10],输入10个数,倒叙输出问题

代码如下:
# include <stdio.h>

int main(void)
{
int a[10];
int i;

printf("pleas input nine numbers\n");
for (i=0; i<9; i++)
{
scanf("%d", a[i]);
}
for (i=9; i>=0; i--)
{
printf("%d\n", a[i]);
}
getchar();

return 0;
}
1、我用的是C-Free4.0,当输入第三个数的时候程序就出错了,不知道为什么?。
2、我用C-Free4.0刚用,最开始很正常,不知道为什么软件出毛病了,不管输入什么程序都是输出“请按任意键继续”,网上查了下,说加个getchar();就可以解决。我想问下,可以通过什么设置改回不用输入getchar()也可以正常的使用?
以上代码,第一个for输入错了应该是 i<10

第1个回答  2015-03-13
scanf("%d", a[i]);
a【i】前面要加&追问

请问下,应该怎么设置软件可以不用输入getchar(); 也一样可以正常使用?我用的是C-Free4,0

追答

您的这个问题我没明白,可以更清楚的描述下吗?

追问

以上代码我不明白getchar();是干什么用的,以前用VC的时候不加getchar();程序也一样可以运行,但是现在用这个软件,不加getchar();运行以后只是在窗口上输出了“请按任意键继续”,不管是运行什么程序都必须要在return 0; 的前面加个getchar();。否则都是输出“请按任意键继续”。我想问的是怎么可以给软件改回不用加getchar();也一样可以正常运行。

追答

您的想法真是奇特啊,请按任意键继续这句话是程序运行玩给您的提示,没有代表你的程序还没有结束,getchar是获取输入的字符,你没有输入,程序没有结束,所以编译器没有给你请按任意键继续的提示,这个提示是应该有的,不是错误!!!

追问

我好像没说明白我的意思,举一个简单的例子
# include
int main(void)
{
printf("哈哈哈\n");
return 0;
}
应该输出“哈哈哈”吧。我的输出结果是“请按任意键继续”。没有输出“哈哈哈”
任何程序,不管写成什么样,都是只输出一行“请按任意键继续”,其他什么都不输出。

但只要加了一个 getchar();

程序就输出“哈哈哈”了,任何程序都是这样。

追答

嗯,好吧,我不知道你的编译器为什么会这样。

本回答被提问者和网友采纳
第2个回答  2015-03-13
scanf("%d", a[i]);

改成scanf("%d", &a[i]);
第3个回答  2017-08-14
狗屁,数组前面不需要加求地址符
相似回答