gpt4 book ai didi

c - 为什么 puts() 函数中的指针在以下代码的第 4 行中不起作用?虽然第 1 行正在运行

转载 作者:太空宇宙 更新时间:2023-11-04 03:28:57 26 4
gpt4 key购买 nike

char poem[80]="Amar sonar bangla";
char rpoem[80];
int main()
{
char *pA, *pB;
pA=poem;
puts(pA); /*line 1*/
puts(poem);/*line 2*/
pB=rpoem;
while(*pA!='\0')
{
*pB++=*pA++ ;
}
*pB='\0';
puts(rpoem);/*line 3*/
puts(pB); /*line 4*/

return 0;
}

当我运行这段代码时,它只显示 puts(pA)puts(poem)puts(rpoem) 的结果,但是puts(pB) 没有结果。我正确地将 pB 分配给指针 rpoem。在将字符串从poem 复制到rpoem 之后,即从*pA*pB。但是在 puts() 函数中 pB 不显示复制的字符串。有人能告诉我错误吗?

最佳答案

因为在“第 4 行”,'pB' 指向 NUL 字节,而不是字符串的开头。您可以在循环中使用临时指针,而不是直接直接修改 'pB'。

关于c - 为什么 puts() 函数中的指针在以下代码的第 4 行中不起作用?虽然第 1 行正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38682188/

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