gpt4 book ai didi

没遇到过的C错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:21 26 4
gpt4 key购买 nike

shell_command(char gcommand[100]) {
FILE *pipe = popen("ls", "r");
char output[100];

if ( pipe ) {
fgets(output, sizeof output, pipe);
pclose(pipe);
}
return output;
}

结果

program.c: In function ‘shell_command’:
program.c:42: warning: return makes integer from pointer without a cast
program.c:42: warning: function returns address of local variable

我用谷歌搜索了两天没有成功

最佳答案

您已将函数声明为

shell_command(char gcommand[100])

被编译器解释为

int shell_command(char gcommand[100])

如你所愿

char* shell_command(char gcommand[100])

这是行不通的,因为输出是一个堆栈变量并返回未定义的行为,正如您的编译器告诉您的那样。

关于没遇到过的C错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25328178/

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