gpt4 book ai didi

c - C 中的程序未按预期执行(当输入 Int 后跟字符时)

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:45 24 4
gpt4 key购买 nike

在我下面的 C 代码中,我想知道为什么当我提示(要求)用户首先输入 int 然后输入 char 时它不起作用,正如我认为的那样?

以下是我的代码:

void square(int side, char fillCharacter);

int main() {
int inputVal;
char inputChar;

printf("Enter side value: ");
scanf("%d", &inputVal);

printf("Enter any character: ");
scanf("%c", &inputChar);

square(inputVal, inputChar);
return 0;
}

void square(int side, char fillCharacter) {
int i, j;
for ( i = 1; i <= side; i++ ) {
for ( j = 1; j <= side; j++) {
printf("%c", fillCharacter);
}
printf("\n");
}
}

最佳答案

"%c" 格式说明符匹配空白字符,"%d" 说明符保留插入的尾随 '\n'当你按下 Enter/Return 时,你需要指示 scanf()"%c"忽略空白字符 通过像这样在说明符前面显式添加一个空格来说明说明符

scanf(" %c", &inputChar);
/* ^_ explicit white space here */

阅读scanf()的,linux 手册页并搜索 "%c" 说明符以了解我的意思。

关于c - C 中的程序未按预期执行(当输入 Int 后跟字符时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28954257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com