gpt4 book ai didi

c++ - C argv指针类型

转载 作者:太空狗 更新时间:2023-10-29 23:25:27 34 4
gpt4 key购买 nike

我对如何使用指针让这段代码工作感到困惑:

#include<stdio.h>

int main(int argc, char *argv[]){

char* test = argv[1][0];
printf("hello %s\n", test);
}

这里是错误:

incompatible integer to pointer conversion initializing
'char *' with an expression of type 'char'; take the address with &
[-Wint-conversion]

最佳答案

argv[1][0] 的类型是char

argv[1] 的类型是char*

你需要使用:

char* test = argv[1];

如果你调用你的程序:

program "First Arguent" "Second Argument"

然后,在main中,argc等于3

argv[0] = "program"
argv[1] = "First Arguent"
argv[2] = "Second Arguent"
argv[3] = NULL

在这种情况下,

argv[1][0] 计算出 argv[1] 的第一个字符,等于 'F'

如果这是你想要得到的,你可以使用:

char test = argv[1][0];

如果你想得到整个第一个参数,那么你需要使用:

char* test = argv[1];

关于c++ - C argv指针类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25946220/

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