首页 分享 简单问题1——while(*p2++=*p1++);

简单问题1——while(*p2++=*p1++);

来源:萌宠菠菠乐园 时间:2024-12-30 17:46

最新推荐文章于 2023-02-01 23:28:51 发布

Dominic-Chang 于 2013-08-29 16:13:30 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原题:

Main()

{

char *p1=“name”;

char *p2;

p2=(char*)malloc(20);

memset (p2, 0, 20);

while(*p2++ = *p1++);

printf(“%sn”,p2);

}

输出为空串。
拓展:

#include<iostream>

#include<cstring>

int main()

{

using namespace std;

char *p1 = "name";

char *p2,*p3;

p3 = p2 = (char*)malloc(20);

memset(p2,0,20);

while(*p2++ = *p1++);

cout << p3 << endl;

free(p3);

cin.get();

cin.get();

return 0;

}  

*p2++
* 和 ++ 的优先级 相同,但结合率是从右到左,*p2++ = *(p++) 
由于后置++,p 的值在下一句才自增,因此上句是两句:*p; p++;
而字符串 以  结尾,在数值上 = 0,可以结束 while 循环。

相关知识

爱因斯坦难题C++解法
while(SPI
int i=0; while(i=1) i++; while循环执行的次数是(
ACM之while(scanf(“%d”,&n)!=EOF)
程序段:int i=1, s=0; while(i++) if(!(i%3))
Python 下input,while True ,continue,break,for等的用法
while((c = getchar() ) != EOF)的循环结束
猫树详解
I am here! QwQ
谈一类神奇的数据结构——猫树

网址: 简单问题1——while(*p2++=*p1++); https://www.mcbbbk.com/newsview923497.html

所属分类:萌宠日常
上一篇: 霍格沃茨之遗捉的动物有什么用
下一篇: 南京遗爱宠物服务「上海宠淘宠物供

推荐分享