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

小弟我要疯了.指针,指针.各位大侠帮小弟我看看吧.

2012-03-18 
我要疯了.指针,指针..各位大侠帮我看看吧..char* stringcat(char* a,char*b){char* pawhile(*a)//这样写

我要疯了.指针,指针..各位大侠帮我看看吧..
char* stringcat(char* a,char*b)
{
char* p=a;
while(*a)//这样写是正确的
{
a++;
}

while(*a++=*b++);  
return p;



char* stringcat(char* a,char*b)
{
char* p=a;
while(*a++);//这样写就会出现错误

while(*a++=*b++);  
return p;



上面两个函数中指针a都是在遇到结束符的时候结束.为什么一个能连接成功,一个不能连接成功.百思不得其解,调试了半天还是没摸到头绪...各位前辈帮帮忙把,解决不了,我睡不着觉....

[解决办法]
*a++的意思是把a指向的内容+1,当到字符串结尾时,*aj是'\0',+1就为1,判断永远为真,真到碰到一个值为-1的字节才结束
[解决办法]
char* stringcat(char* a,char*b)
{
char* p=a;
while(*a)//这样写是正确的 //判断 *a是否是'\0'
{
a++;//指针加一,指向下一个指针
}

while(*a++=*b++);
return p;



char* stringcat(char* a,char*b)
{
char* p=a;
while(*a++);//这样写就会出现错误 //第一个字符不断加1,结果是字符越界(>256)报错

while(*a++=*b++);
return p;
}

热点排行