#include<stdio.h>
#include<stdlib.h>
int* twoSum(int* nums, int numsSize, int target) {
int *a=(int *)malloc(2*sizeof(int));
int i,j;
for(i=0;i<numsSize;i++)
for(j=i+1;j<numsSize;j++)
if(nums[i]+nums[j]==target)
{a[0]=i;a[1]=j;}
return a;
}
void main(){
int target,i;
int numsSize;
int b[2];
int num[10];
int *s;
s=b;
printf("Please input numsSize");
scanf("%d",&numsSize);
for(i=0;i<numsSize;i++)
scanf("%d",&num[i]);
printf("Please input target");
scanf("%d",&target);
s=twoSum(num,numsSize,target);
printf("【%d,%d】",s[0],s[1]);
}
我的代码出了什么问题? 我可以在Visual Basic C ++上顺利运行它,但在平台上它暗示了第58行:主要&#39;的冲突类型,我不知道发生了什么。 < / p>
答案 0 :(得分:0)
因此,您的代码没有任何问题,但存在一个微妙的问题。
我不确定是否应该在这里讨论Leetcode问题。但是,您收到的错误在错误消息“主要的冲突类型”中明确说明。
您不必在leetcode上编写main()函数。问题是leetcode已经有一个带签名
的隐式main()函数int main(int argc, char **argv)
因此,当您使用不同的签名定义第二个main()函数时,它会出错,因为我们现在有2个冲突的main()函数声明(一个由leetcode定义,另一个由您定义)。
因此,只需删除main()的代码,并在该平台上简单地包含twoSum()函数,它就能正常工作。