[求助]为什么这个程序是错误的
main(){int a[5],i=0;
scanf("%d",&a[i++]);
while(a[i]!='#'&&i<5)
scanf("%d",&a[i++]);
i=0;
while(a[i]!='#'&&i<5)
printf("%d ",a[i++]);
}
我输入:1 2 3 #
为什么结果不是: 1 2 3 啊
对整数输入而输入一个字符(无论哪个)都会非正常结束输入.
所以你的'#'根本不会在数组里,那你输出的时候当然还到5才可以结束了,这样就有多余的随机数输出.
楼上的,你的程序完全没结果啊~还有,我不明白你的J代表什么,J=0,但I<J-1??
另外,char a[5]就可以解决对整数输入而输入一个字符(无论哪个)都会非正常结束输入了??
我运行了下lw_China写的,输出无数个0
怎么才能实习楼主的要求呢?。。。。
那不是我写的,是lz写的.
#include<stdio.h>
int main(void)
{
char a[5];
int i=0;
while(a[i]!='#'&& i<5)
{
scanf("%c",&a[i++]);
}
i=0;
while(a[i]!='#'&& i<5)
{
printf("%c",a[i++]);
}
return 0;
}
// 可改为这样。