我这段代码为什么一直重复输出矩阵已存在,是否需要重新创建(Y/N)->
if(count2>1){
printf("矩阵已存在,是否需要重新创建(Y/N)->");
scanf("%c",&Y_N);
switch(Y_N)
{
case 'Y':break;
case 'N':continue;break;
default:continue;break;
}
} 这个问题是因为在输入 Y 或者 N 后,回车键也被读取到了,导致下一次的输入操作直接读取到了回车键,而不是用户的输入。
解决这个问题的方法是,在 `scanf` 函数中添加一个空格,将其用来吸收掉多余的回车键。修改后的代码如下:
if (count2 > 1) {
printf("矩阵已存在,是否需要重新创建(Y/N)-> ");
scanf(" %c", &Y_N);// 在 %c 前面添加一个空格
switch (Y_N) {
case 'Y': break;
case 'N': continue; break;
default: continue; break;
}
}
这样就能够正确地获取用户输入并进行判断了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 {:10_256:}
页:
[1]