首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教一下,这个程序的输出结果

2012-02-14 
请问一下,这个程序的输出结果main(){char*p1“name”char*p2p2(char*)malloc(20)memset(p2,0,20)while

请问一下,这个程序的输出结果
main()  
{  
char   *p1=“name”;  
char   *p2;  
p2=(char*)malloc(20);  
memset   (p2,   0,   20);  
while(*p2++   =   *p1++);  
printf(“%sn”,p2);  

}  


[解决办法]
结果是。。

n

改一下就好了

int main()
{
char *p1= "name ";
char *p2 = 0;
char *p3 = 0;
char *p4 = 0;
p2=(char*)malloc(20);
memset (p2, 0, 20);
p3 = p1;
p4 = p2;
while(*p4++ = *p3++);
printf( "%s ",p2);


return 0;
}
[解决办法]
输出为空,因为p2的指针指向末尾,改为:
char *p1= "name ";
char *p2;
p2=(char*)malloc(20);
memset (p2, 0, 20);
while(*p2++ = *p1++);
p2 = p2-5;//指向头
printf( "%s\n ",p2); //现在输出name

热点排行