gpt4 book ai didi

c - 字符串输出乱码

转载 作者:行者123 更新时间:2023-11-30 19:35:13 25 4
gpt4 key购买 nike

在我的 C 脚本中,我的输入打印出乱码,我不知道为什么

这或多或少是我所拥有的

int main (int arg, char argv[])
{
printf(argv);
}

这会打印出乱码吗?

最佳答案

以下内容应该会产生您正在寻找的结果

#include <stdio.h>

int main(int argc, char **argv)
{
// Check if there is at least 2 arguments. First argument is the executable name.
if(argc > 1)
{
// Print out a string, followed by a new-line character.
printf("%s\n", argv[1]);
}
// Exit successfully
return 0;
}

编辑:查看此处的代码以及我建议更改的一些内容后:

你的主函数签名为int main(int argc, char **argv) 。这里argc参数金额数量,并且 argv参数ument v值。 argv是一个双指针。如果我们考虑char*是一个字符串(内存中以空字符或 0 结尾的字符序列),则 argv是指向 argc 的指针-许多字符串。

其次,要检查第一个程序参数,请考虑确保那里确实存在一个参数。 if(argc > 1)将确保程序至少有 1 个参数(程序的 0 索引参数是可执行路径)。

当您想实际检查第一个参数的值时,取消引用 argv得到一个“字符串”argv[1] //The first argument 。然后您可以取消引用该字符串以获取第一个字符

if ( *(argv[1]) == 'f' )
{
....
}

如果您想检查完整字符串,而不仅仅是单个字符,请考虑使用诸如 strcmp 之类的函数。定义于 <string.h> .

关于c - 字符串输出乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42945296/

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