gpt4 book ai didi

c - 编译器的差异。 C语言

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:11 25 4
gpt4 key购买 nike

为什么我的“C”代码不能在 Linux(编译器 ggdb3、C99)中编译,但在 Visual Studio 中运行良好?这里的错误消息:

20:1: error: control may reach end of non-void function [-Werror,-Wreturn-type] }

#include <stdio.h>
// Function to determine if one character string exists inside another string.
int findString(char source[], char searching[])
{
int i = 0, j = 0;

for (; source[i] != '\0'; i++) {
if (source[i] == searching[j])
if (source[i + 1] == searching[j + 1] &&
source[i + 2] == searching[j + 2])
return i;
else
return -1;
}

}

int main(void)
{
int index = findString("a chatterbox", "hat");

if (index == -1)
printf("No match are founded\n");
else
printf("Match are founded starting index is %i\n", index);

return 0;
}

我试过在这个函数中加入 edd 但没用

if (source[0] == '\0')
return -1;

最佳答案

看起来您实际上只是收到警告,但由于您已向 Linux 编译器提供命令行参数 -Werror,它会将警告视为错误。如果您查看 Visual Studio 的编译器输出,您应该会看到类似的警告。

关于c - 编译器的差异。 C语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41659933/

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