gpt4 book ai didi

c - 多重定义首先在这里定义

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

由于某种奇怪的原因,每次我编译项目时,我都会收到这个奇怪的多个定义错误,即使这是我定义函数的唯一位置。我使用代码块作为我的 IDE,使用 GCC 作为编译器。这是代码:

#include <stdio.h>
#include <test.h>

int checkForSquare(int num){
int squared[10001];
squared[num] = num * num;
for(int i = 0; i <= 10000; i++){
if(squared[i] == num){
return 1;
break;
}
}
return 0;
}

int main(){
for(int x = 0;x <=10000;x++){
if(checkForSquare(x))
printf( "%d" , x );
else
printf("Not Square");
}

return 0;
}

最佳答案

首先,您可以查看以下讨论: How to prevent multiple definitions in C?

其次,请至少在发布问题之前正确对齐您的代码。

第三,我认为你的 checkForSquare() 应该如下所示:

int checkForSquare(int num){
static long squared[10001];
squared[num] = num * num;
for(int i = 1; i < num; ++i){
if(squared[i] == num){
return 1;
}
}
return 0;
}

关于c - 多重定义首先在这里定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153667/

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