ai didi

c - 指针指向字符串时没有输出

转载 作者:行者123 更新时间:2023-11-30 19:55:37 24 4
gpt4 key购买 nike

int main(){
char a[80] = "Angus Declan R";
char b[80];
char *p,*q;
p = a;
q = b;
while(*p != '\0'){
*q++ = *p++;
}
*q = '\0';
printf("\n p:%s q:%s \n",p,q);
puts(p); //prints the string
puts(q); //doesnt print the string
return 0;
}

为什么字符串没有从p复制到q?当尝试打印 q 时,它什么也不打印

最佳答案

添加

p = a;
q = b;

再次之前

printf("\n p:%s q:%s \n",p,q);
puts(p); //prints the string
puts(q); //doesnt print the string

因为pq指针在 while 中递增循环并且它们不再指向 a 的开头和b字符数组

顺便说一句,正如评论:

您可以替换此代码块

while(*p != '\0'){
*q++ = *p++;
}
*q = '\0';

while(*q++ = *p++); // more simple ;-)

关于c - 指针指向字符串时没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15274954/

24 4 0
文章推荐: javascript - 如何在 x 秒内关闭模态?
文章推荐: c# - 如何在c#中以反向模式做子串
文章推荐: javascript - 如何使用交易更改 Assets 属性的值?
文章推荐: c - 在C中实现队列
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com