gpt4 book ai didi

c - 为什么我的C程序在输入数字后无法完成代码?

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

我刚开始学习 C,所以我不知道为什么会这样。

#include <stdio.h>

int square(int x);

int main(int argc, const char * argv[])
{
printf("Enter a number");
int userNum;
scanf("%d", &userNum);
int result = square(userNum);
printf("The result is %d", result);

}

int square(int x){
int result = x*x;
return result;
}

它会要求输入一个数字,但在我输入后什么也没有发生。如果我要取出 scanf 并放入 square(10) 或其他东西,代码将运行并完成。

最佳答案

它使用 gccclang 编译并按我预期的方式运行...使它更清晰(因为其他文本可能会妨碍您查看答案)向输出到 stdout 的内容添加新行:

int main( void ) {
printf("Enter a number: ");

int userNum;

scanf("%d", &userNum);

int result = square(userNum);

printf("\nThe result is: %d\n", result);

return 0;
}

如果您在终端(而不是管道输入)中进行测试,请记住 scanf(带有 %d 占位符)将读取一个整数,直到下一个字符不是数字字符。因此,您需要在键盘上键入 10 并返回(或回车)。否则,通过管道将您的程序输入文件:

10

...使用以下命令:

./a.out < input.txt

关于c - 为什么我的C程序在输入数字后无法完成代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18199339/

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