用strcpy无法实现两个字符串交换!

[复制链接]
查看11 | 回复3 | 2013-1-6 17:11:33 | 显示全部楼层 |阅读模式
#include#includeint main(){ char p[]="glorious",q[]="leader",t[10]; strcpy(t,p);//结果t ="glorious" strcpy(p,q);//结果p=leaderus; //注意长度strcpy(q,t);//q的结果是 glorio//注意长度printf("%s\n%s\n%s\n",p,q,t); return 0;}...
回复

使用道具 举报

千问 | 2013-1-6 17:11:33 | 显示全部楼层
是因为字符串结束的标识是‘\0’ 如果声明的时候不声明大小 则 编译的 时候会自动的加上'\0'可以写个damo自己测一下,或者通过一个for循环看看里面的内容到底是什么就行了啊...
回复

使用道具 举报

千问 | 2013-1-6 17:11:33 | 显示全部楼层
#include#includeint main(){ char p[10]="glorious",q[10]="leader",t[10]; strcpy(t,p); strcpy(p,q); strcpy(q,t);//q数组长度不够 printf("%s\n%s\n%s\n",p,q...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行