gpt4 book ai didi

c - 如何正确比较命令行参数?

转载 作者:太空狗 更新时间:2023-10-29 17:18:21 26 4
gpt4 key购买 nike

我正在尝试编写一个在 main 中接受参数的 C 代码;因此,当我在 cmd 中写入一些字符串时,程序会在其中执行某些操作。但是我做错了什么,我找不到它。

这是代码:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char * argv[]){ //File name is main.c
if(argc != 3)
printf("Wrong!!!!!!!!!");
else
if (argv[1] == "-s")
girls(); //Prints "Girls"
else if(argv[1] == "-k")
boys(); //Prints "Boys"
else
printf("OMG!!");
}

在命令中;

gcc -o gender main.c

gender -s pilkington

我输入那个命令。 Bu 输出总是

"OMG!!"

哪一部分是错误的?

最佳答案

在您的代码中,argv[1] == "-s" 是错误的部分。不能使用 == 运算符比较字符串。

要比较字符串,需要使用strcmp() .

你的代码应该是这样的

if ( ! strcmp(argv[1], "-s")) { //code here }

如果你想检查 argv[1] 是否包含 "-s"

关于c - 如何正确比较命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27525617/

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