gpt4 book ai didi

c - 该代码在编译时没有显示错误,但没有显示任何输出

转载 作者:可可西里 更新时间:2023-11-01 11:37:05 24 4
gpt4 key购买 nike

程序很简单,输出最大公约数。我已经验证了我的算法。编译器没有报错,但仍然没有输出。

#include<conio.h>
#include <stdio.h>
int gcd(int ,int );
int main()
{
int a,b,j;
printf("enter two numbers");
scanf("%d\n",&a);
scanf("%d\n",&b);
j=gcd(a,b);
printf("gcd is %d",j);
getch();
return 0;
}
int gcd(int x, int y)
{
int temp,c;
if(x<y)
{
temp=x;
x=y;
y=temp;
}
if(y<=x&&(x%y==0))
return y;
else
{ temp=x%y;
c=gcd(y,temp);
return c;

}
}

最佳答案

这可能是由于输出缓冲所致。将 \n 添加到您的 printfs 并查看它是否修复了它:

printf("enter two numbers\n");
printf("gcd is %d\n",j);

或者,您可以添加对 fflush(stdout) 的调用以刷新输出缓冲区:

printf("enter two numbers");
fflush(stdout);

printf("gcd is %d",j);
fflush(stdout);

除此之外,它(几乎)在我的设置中按预期工作:

enter two numbers
4783780
354340
1
gcd is 20

唯一的问题是 \n 强制它读取一个额外的字符。 (我选择为 1)

关于c - 该代码在编译时没有显示错误,但没有显示任何输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8696215/

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