C语言编译玩完后 输入数据回车 后怎么没反映

来源:百度知道 编辑:UC知道 时间:2024/05/28 06:27:19
#include<stdio.h>
void main()
{
int i,j,t;
int a[10];
printf("Input nums:\n");
for(i=0;i<=9;i++)
scanf("d%",a[i]);
printf("\n");
for(j=0;j<=8;j++)
{
for(i=0;i<=i-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("the soretd numbers :\n");
for(i=0;i<=9;i++)
printf("%d",a[i]);
printf("\n");
}这是程序 输入数据的方法说下 谢谢
你这方法也不好用啊

这是输入数据后回车造成的,C语言把回车符也接收了。
解决方法是在输入语句后加getchar(); 一次可以吃掉一个回车符。
局部改为:
for(i=0;i<=9;i++)
{
scanf("d%",a[i]);
getchar();
}

哈哈!是程序执行的太快,一闪而过,所以你看不到输出的结果,建议在程序末尾加getchr(),这样就可以看到运算结果了。

你的
for(i=0;i<=9;i++)
scanf("d%",a[i]);
写错了,是%d而不是d%!
你试试