gpt4 book ai didi

c - scanf 之后的 printf 始终显示 1(相同的意外值)

转载 作者:行者123 更新时间:2023-11-30 18:55:15 25 4
gpt4 key购买 nike

好吧,我正在尝试在 VS 中编写一个基本程序。输入一个数字,然后打印出来。始终打印 1。

int main(){
printf("Enter an integer: ");
int n = scanf_s("%d", &n);
printf("%d", n);
}

最佳答案

您将从 scanf_s() 返回的值分配给变量 n,这意味着程序将在以下情况下打印 1:读取成功。

你应该做的是

int numberOfItemsMatched;
int readValue;

numberOfItemsMatched = scanf_s("%d", &readValue);
if (numberOfItemsMatched == 1)
printf("%d\n", readValue);

我希望变量名称是不言自明的,并且使用这种名称总是一个好主意。

关于c - scanf 之后的 printf 始终显示 1(相同的意外值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132729/

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