gpt4 book ai didi

c - 将 char 数组作为参数传递

转载 作者:太空狗 更新时间:2023-10-29 16:58:18 25 4
gpt4 key购买 nike

谁能给我解释一下我在这里不明白的地方吗?

我正在尝试将参数作为“字符串”传递(我知道 c 中没有字符串),以便稍后我可以将该字符串与其他函数一起使用,例如它是必须传递的文件名。但是不知道为什么不接受,应该是什么类型

#include <stdio.h>

int main ( int argc, char *argv[] )
{
char *array= argv[0];
foo(*array);
}

void foo( char *array)
// notice the return type - it's a pointer
{
printf(array);
}

非常感谢!

最佳答案

你应该这样调用函数:

foo(array);

您正在做的是取消对指针的引用,它返回一个 char,这是字符串中的第一个字符。

您的 printf 调用也应该如下所示:

printf("%s", array);

您的整个固定代码应如下所示:

#include <stdio.h>

void foo(char *array)
{
printf("%s", array);
}

int main ( int argc, char *argv[] )
{
// TODO: make sure argv[1] exists
char *array= argv[1];
foo(array);
}

关于c - 将 char 数组作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714505/

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