gpt4 book ai didi

c - IF 语句正在更改函数中的数组元素

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:47 25 4
gpt4 key购买 nike

当我的程序运行时,IF ( ch[0] == 'P') 实际上将值 'P' 放入 ch[0]。知道这里发生了什么吗?输出是:“数组是 Pyz”

char *try1(char ch[]);

int main()
{
char ch[] = { 'x','y','z' }, *ch1;
ch1=try1(ch);
printf("\nArray is %s\n",ch1);
return 0;
}

char *try1 (char ch[])
{
if (ch[0]=='P')
{
ch[1]='Q';
}

return ch;
}

最佳答案

如果你想将 ch 解释为一个字符串,你应该用 '/0' 终止数组。替换

char ch[] = { 'x','y','z'}

char ch[] = { 'x','y','z', '\0' }

输出变成“Array is xyz.”

有关详细信息,请阅读 https://en.wikipedia.org/wiki/Null-terminated_string

关于c - IF 语句正在更改函数中的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40923952/

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