gpt4 book ai didi

C 将其他 C 程序作为主要 argv 传递

转载 作者:太空宇宙 更新时间:2023-11-03 23:20:56 24 4
gpt4 key购买 nike

只是好奇,

考虑一下

./first

./second

它们是可执行的c程序

首先.c:

char main(void){
return '5';
}

第二个.c:

#include<stdio.h>
int main(int argc, char** argv){
printf("%s", argv[2]);
return 0;
}

(这里我要打印5)

是否可以像这样编译 second.c:

gcc second.c -./first

我当然知道那行不通,但是否可以编写出我想要的东西?

最佳答案

main() 的返回值成为程序的退出状态,放在 shell 的 $? 变量中。所以应该是:

./first
./second $?

您应该更改 first.c 以返回 int,而不是 char;否则它将打印 '5' 字符的 ASCII 代码,而不是 5

int main(void){
return 5;
}

而在second.c中,应该是argc[1],而不是argv[2]

关于C 将其他 C 程序作为主要 argv 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39904394/

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