我是 C 的初学者,所以如果这个问题很愚蠢或者问得很奇怪,请原谅我。
我正在阅读C prime plus ,第 8 章中的示例之一是一些循环,用于测试用户是否输入 - a newline character or not
,我无法理解。
代码很短,所以我将向您展示:
int main(void)
{
int ch; /* character to be printed */
int rows, cols; /* number of rows and columns */
printf("Enter a character and two integers:\n");
while ((ch = getchar()) != '\n')
{
if (scanf("%d %d",&rows, &cols) != 2)
break;
display(ch, rows, cols);
while (getchar() != '\n')
continue;
printf("Enter another character and two integers;\n");
printf("Enter a newline to quit.\n");
}
printf("Bye.\n");
return 0;
}
void display(char cr, int lines, int width) // the function to preform the printing of the arguments being passed
我不明白的就在这里:
while (getchar() != '\n')
continue;
printf("Enter another character and two integers;\n");
printf("Enter a newline to quit.\n");
首先,while (getchar() != '\n')
正在测试输入的第一个 ch 对吗?其次,如果这是真的,为什么 continue 没有跳过 printf 语句并转到第一个 while?这不是应该做的吗?
肿瘤坏死因子