我是 C 编程新手,我有一项学校作业,其中用户输入一个 7x7 的谜题(使用多维数组)。我的问题是我不知道如何从输入中删除空格,因为每个字符后面都应该有一个空格。例如:
1 2 1 1 1 1 1
2 2 1 1 1 2 1
1 2 1 1 1 1 1
2 2 1 1 1 2 1
1 2 1 1 1 1 1
2 2 1 1 1 2 1
1 2 1 1 1 1 1
我需要忽略空格,并且每行仍然有 7 个字符。 谢谢! :) 这是我的代码,但它没有运行。
int main(){
char puzzle[7][7];
char input[7][7];
int i;
int j;
int a;
int b;
for(i=0; i<7; i++){
for(j=0; j<7; j++){
fgets(input[i][j],sizeof(input[i][j]), stdin);
for(i=0, j=0; i,j<strlen(input[i][j]); i++,j++){
if(input[i][j]==' ')
continue;
puzzle[a][b]=input[i][j];
a++;
b++;
}
}
}
getch();
}
最佳答案
int a[7][7];
for (int i = 0; i < 7 ; i++)
for (int j = 0; j < 7 ; j++)
scanf("%i",&a[i][j]);
scanf("%i",&a[i][j]);
将忽略空格和换行符。
关于c - 多维数组: Ignoring spaces in the input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22269079/