运行程序输出错误!!!!!!什么原因????
发布网友
发布时间:2022-04-22 06:24
我来回答
共2个回答
热心网友
时间:2023-06-23 23:10
连续输入, 在输入函数前面一定要加上flushall()或是while(getchar()!='\n');这样以清空缓冲区.
或者是除了在第一次输入的地方, 在字符串前面加一个半角字符, 只要是一字节就可以. 这样以抵消上次输入留下的回车.
如:scanf("%d", &i);改成 scanf(" %d", &i);
而且scanf最好不要用输入控制符, 因为用的人真心很少, 因为它让用户不好输入, 而且容易造成输入上的失败, 导致程序运行错误.追问如:scanf("%d", &i);改成 scanf(" %d", &i);改哪哦 我试试你上面的,我在第一个循环就出错了,printf(“%4d”,i)没错 接下来printf("%4d\t%4d\t%4d\n",i,j,k);i值就出现错误
热心网友
时间:2023-06-23 23:10
#include<stdio.h>
#include<conio.h>
//int maxmum(int x,int y,int z);
int main()
{
int i=0,j=0,k=1; //给i和j初始化为0
printf("please input 3 no more than four-digit datas and press ENTER to end;\n ");
int z;
for(z=1;z<=3;z++)
{
printf("please input the %d date \n",z);
if(z==0)
{
scanf("%4d",&i);
printf("%4d",i);
printf("%4d\n%4d\t%4d",i,j,k);
}
else
if(z==1)
{
scanf("%4d",&j);
printf("%4d\t%4d\t%4d",i,j,k);
//每次都输出ijk,但是你并没有初始化i和j,所以第一次遇上输出i时i根本没有被赋值
}
else
{
scanf("%4d",&k);
printf("%4d\t%4d\t%4d\n",i,j,k);
}
}
printf("%4d\t%4d\t%4d",i,j,k);
}