我正在尝试使用此代码将值输入到C中的多维char数组中。
代码:
char s[2][2];
char TRUE = '1';
for (i =0; i < 2; i++)
{
for (j = 0; j < 2; j++)
{
scanf("%c\n", &s[i][j]);
printf("%c\n", (char)s[i][j]);
printf("###\n");
if (s[i][j] == TRUE)
printf("Char are equal\n");
else
printf("Not\n");
}
}
问题是,对于第一个scanf(),我得到Null值。 此代码仅适用于第二个scanf()。
代码目的是输入'1'和'0'值,然后比较输入是否等于TRUE('1')。
答案 0 :(得分:0)
默认情况下scanf()
存在许多问题。你应该叫它:
scanf("%c", &s[i][j]);
fflush(stdin);
或者如果您的操作系统上没有fflush()
可以提供帮助:
do scanf("%c", &s[i][j]); while (getchar() != '\n');
希望有所帮助:)