gpt4 book ai didi

c - 如何让 scanf_s() 在我的 C 程序中正常工作?

转载 作者:行者123 更新时间:2023-11-30 20:32:29 25 4
gpt4 key购买 nike

由于某种原因,我的 C 程序在输出“输入字母(D/E/F):”后立即关闭

我希望能够在 letter[] 数组中存储 3 个字符,以便稍后打印它们。

我使用Visual Studio 2017,程序没有错误。它似乎只是跳过 printf("Enter a letter (D/E/F): "); 之后的所有内容。

我认为问题与 scanf_s 有关,但我不完全知道问题是什么或如何解决它。这是我的程序:

#include <stdio.h>

int main(void)
{
char letters[3];
char ch;
printf("Enter a letter (A/B/C): ");
scanf_s(" %c", &ch);
letters[0] = ch;
printf("Enter a letter (D/E/F): ");
scanf_s(" %c", &ch);
letters[1] = ch;
printf("Enter a letter (G/H/I): ");
scanf_s(" %c", &ch);
letters[2] = ch;

printf("You entered %c, %c, and %c.", letters[0], letters[1], letters[2]);

getchar(); getchar(); // PAUSE
return 0;
}

请帮忙。

最佳答案

scanf_s("%c", &ch); 更改为 scanf_s("%c", &ch, 1);,程序现在可以运行了!

再次感谢Weather Vane,一些程序员家伙,Kal Karaman,Weather Vane,以及此网页:http://faculty.edcc.edu/paul.bladek/CS131/scanf_s.htm !

关于c - 如何让 scanf_s() 在我的 C 程序中正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47372268/

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