gpt4 book ai didi

c - 我正在尝试使用指针在 c 中复制一个字符串

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

char ch0[10] = "hello";
char ch1[10];

void main(){
clrscr();
char *pt0 = ch0;
char *pt1 = ch1;
puts(pt0);

while(*pt0 != '\0')
{
*pt1++ = *pt0++;
}
*pt1 = '\0';

printf("value of ch1 =");
for(int i = 0; i < sizeof(ch1); i++){
printf("%c",ch1[i]); // prints value correctly
}

putchar('\n');
printf("pointer pt1 value = %c",*pt1); // gives garbage value
getch();
}

指针 pt1 值不可访问,但 ch1 指向正确的值。

如何访问pt1?

我不擅长指点,只能解释一下工作场景

output:
hello
value of ch1 =hello
pointer pt1 value= \\garbage value

最佳答案

在我看来,您只需要重置 pt1。在您的复制循环之后,它指向 ch1 数组中字符串的末尾。

所以,在行之后:

*pt1='\0';

pt1 指向 ch1 中字符串的末尾。因此,要打印出来,您需要将其重置回 ch1

关于c - 我正在尝试使用指针在 c 中复制一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32472767/

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