Id 返回 1 退出状态错误
Id returned 1 exit status error
我花了将近一个小时试图找出这个错误,但遇到了麻烦。我在读这个 post: C compile error: Id returned 1 exit status 有人说这可能是因为程序还在 运行ning。我已经检查过了,它不是 运行ning,但我仍然收到错误消息。
这是错误的样子:C:\Program\collect2.exe [错误] ld 返回了 1 个退出状态。
我还查看了更多 post 的答案,例如这个:Id returned 1 exit status error in my C program 最热门的回答是 "linker error" 并且该程序正在得到遵守不正确。我尝试创建一个新项目并复制代码,但最终出现相同的错误。然后我进入编译器选项,并截取了选项的屏幕截图。这些选项看起来不错吗?
也许这只是我忽略的代码中的一个错误。我必须创建一个尾递归函数来添加数字。例如,用户输入 4,函数将 4+3+2+1 相加得到 10。
我认为错误出在 while 循环中的这段代码中:
else{
printf("Answer = %d \n", addNum(num));
}
当我评论出来时,我可以 运行 它并输入负数或零并得到 output.If 我的程序已关闭,因为函数无法正确输出我不希望你更正它。稍后我会调整这些东西并自己找出答案,我只是在寻找为什么会出现此错误。
#include <stdio.h>
#include <stdlib.h>
int addNum(int n);
int main(int argc, char *argv[]) {
int num;
int count = 1;
printf("Enter an integer greater than zero, (q to quit): \n");
while(count < 3){
printf("Enter a positive number: \n");
scanf("%d", &num);
if(num < 0){
printf("Enter a positive number: \n");
}
else if(num == 0){
printf("Answer = 0 \n");
}
else{
printf("Answer = %d \n", addNum(num));
}
}
int addNum(int n){
int answer;
if(n > 0){
answer = n += addNum(n - 1);
}
return answer;
}
return 0;
}
由于 addnum
在 main
函数中定义,您收到此错误。 C 默认不支持嵌套函数。但是,gcc 具有允许嵌套函数的扩展功能。它们是非标准的,因此完全依赖于编译器。
这是link
我花了将近一个小时试图找出这个错误,但遇到了麻烦。我在读这个 post: C compile error: Id returned 1 exit status 有人说这可能是因为程序还在 运行ning。我已经检查过了,它不是 运行ning,但我仍然收到错误消息。
这是错误的样子:C:\Program\collect2.exe [错误] ld 返回了 1 个退出状态。
我还查看了更多 post 的答案,例如这个:Id returned 1 exit status error in my C program 最热门的回答是 "linker error" 并且该程序正在得到遵守不正确。我尝试创建一个新项目并复制代码,但最终出现相同的错误。然后我进入编译器选项,并截取了选项的屏幕截图。这些选项看起来不错吗?
也许这只是我忽略的代码中的一个错误。我必须创建一个尾递归函数来添加数字。例如,用户输入 4,函数将 4+3+2+1 相加得到 10。
我认为错误出在 while 循环中的这段代码中:
else{
printf("Answer = %d \n", addNum(num));
}
当我评论出来时,我可以 运行 它并输入负数或零并得到 output.If 我的程序已关闭,因为函数无法正确输出我不希望你更正它。稍后我会调整这些东西并自己找出答案,我只是在寻找为什么会出现此错误。
#include <stdio.h>
#include <stdlib.h>
int addNum(int n);
int main(int argc, char *argv[]) {
int num;
int count = 1;
printf("Enter an integer greater than zero, (q to quit): \n");
while(count < 3){
printf("Enter a positive number: \n");
scanf("%d", &num);
if(num < 0){
printf("Enter a positive number: \n");
}
else if(num == 0){
printf("Answer = 0 \n");
}
else{
printf("Answer = %d \n", addNum(num));
}
}
int addNum(int n){
int answer;
if(n > 0){
answer = n += addNum(n - 1);
}
return answer;
}
return 0;
}
由于 addnum
在 main
函数中定义,您收到此错误。 C 默认不支持嵌套函数。但是,gcc 具有允许嵌套函数的扩展功能。它们是非标准的,因此完全依赖于编译器。
这是link