gpt4 book ai didi

c - 程序在 Linux 和 Windows 上挂起,似乎在 Mac 上运行

转载 作者:可可西里 更新时间:2023-11-01 11:12:27 25 4
gpt4 key购买 nike

我为一门类(class)编写了这段代码。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
int i;
int numbersToPrint;
int fibonacci[50] = {0,1};
int defaultOrCustom;

printf("Do you want to run the default length of 15 numbers, or do you want to define your own length?\n1.Default\n2.Custom\n");
scanf("%i", &defaultOrCustom);

switch (defaultOrCustom){
case 1:
for (i = 2; i < 15; i++)
{
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
printf("%i, ", fibonacci[i]);
}
break;

case 2:
printf("How many numbers in the sequence do you want to print?\n");
scanf("%i\n", &numbersToPrint);
printf("%i", numbersToPrint);
for (i = 2; i< numbersToPrint; i++)
{
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
printf("%i\n", fibonacci[i]);
}
break;

default:{
printf("Please choose a valid option:\n");
main();
}
}
return 0;
}

我的问题似乎是程序在第 2 行之后挂起:

printf("%i", numbersToPrint);

我已经在 Linux 和 Windows 上验证了这一点,并与在 Mac 上尝试过的人交谈过,他说代码有效。

但是没有错误出现。

有什么解决办法吗?

最佳答案

改变:

scanf("%i\n", &numbersToPrint);

scanf("%i", &numbersToPrint);

参见 c-faq对于 scanf'\n'

挂起

关于c - 程序在 Linux 和 Windows 上挂起,似乎在 Mac 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400160/

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