for循环中加入scanf跟printf出错,能帮忙看看不
for循环中加入scanf和printf出错,能帮忙看看不#includestdio.h#includestdlib.h#define N 100#define
for循环中加入scanf和printf出错,能帮忙看看不
#include<stdio.h>
#include<stdlib.h>
#define N 100
#define M 10
void main()
{
int a[M][N],i,p,q,n,m,j,b[M];
printf("请输入存入数组的行数");
scanf("%d",&n);
printf("请输入存入数组的列数");
scanf("%d",&m);
for(i=0;i<n;i++)
{
printf("请输入第%d的系数",i);
for(j=0;j<m;i++)
{
printf("请输入第%d的系数",i+1);
scanf("%d",&a[i][j]);
}
printf("请输入第%d的B系数",i);
scanf("%d",&b[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;i++)
{
printf("请输入%d",a[i][j]);
}
printf("%d\n",b[i]);
}
}
[解决办法]
使用scanf函数的时候注意I/O流中对于回车的处理,尤其在循环中
[解决办法]
getchar函数调用一次,吃掉每次输入时多余的一个回车符!
[解决办法]printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
在每个最后不带\n的printf后面加fflush(stdout);
在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);
另外请检查scanf的返回值。