C语言代码问题?
#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){inta[100][100],i,j,k,c,d;cha...
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a[100][100], i, j, k, c, d;
char ch;
for (i = 0; i < 100; i++)
{
for (j = 0; j < 100; j++)
{
scanf("%d", &a[i][j]);
if ((ch = getchar()) == '\n') break;
else continue;
}
d = j;
if ((ch = getchar()) == '\n') break;
else continue;
}
c = i;
printf("%d %d", c,d);
return 0;
}
我想知道每行 每列各有多少数字,但我用了c和d来取值,出来的结果不对 展开
#include<stdio.h>
int main()
{
int a[100][100], i, j, k, c, d;
char ch;
for (i = 0; i < 100; i++)
{
for (j = 0; j < 100; j++)
{
scanf("%d", &a[i][j]);
if ((ch = getchar()) == '\n') break;
else continue;
}
d = j;
if ((ch = getchar()) == '\n') break;
else continue;
}
c = i;
printf("%d %d", c,d);
return 0;
}
我想知道每行 每列各有多少数字,但我用了c和d来取值,出来的结果不对 展开
展开全部
逻辑错得太远,改成下面的样子。如ch = getchar()若不是'\n'不就把数字读出来了?若读取了数字,又没有后续处理,当然要出错了。下面是按你的思路改的。
int main(int argc,char *argv[]){
int a[100][100], i, j, k, c, d;
char ch;
for (i = 0; i < 100; i++){
for (j = 0; j < 100; j++){
scanf("%d", &a[i][j]);
if ((ch = getchar()) == '\n'){
d=j,c=i;
i=101;
break;
}
else ungetc(ch,stdin);
}
}
printf("%d %d\n", c,d);
return 0;
}
int main(int argc,char *argv[]){
int a[100][100], i, j, k, c, d;
char ch;
for (i = 0; i < 100; i++){
for (j = 0; j < 100; j++){
scanf("%d", &a[i][j]);
if ((ch = getchar()) == '\n'){
d=j,c=i;
i=101;
break;
}
else ungetc(ch,stdin);
}
}
printf("%d %d\n", c,d);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询