摘要:
while(*s1++=*s2++);这条语句虽然简单,但你能一眼就看出它的作用是复制字符串吗? 虽然++的优先级高于*,但由于++放在指针变量的后面,所以先执行赋值表达式,然后指针变量自增。赋值表达式的值等于被赋给s1的那个字符的ASCII码值,这一点很重要。所以当s2指向的空间有字符时,将其传递给当前s1指向的空间,赋值表达式的值不为0(非零即真),while循环不停止,当s2指向字符串结束符‘\0’并赋给时s1所指空间时,赋值表达式的值为0,while循环停止,字符串完成了复制。但s1、s2此时都指向了该字符串的末尾,所以程序中应引入一个字符指针变量来记住首地址。示例如下:#inc... 阅读全文
posted @ 2013-07-02 16:49
徐的博客
阅读(1737)
评论(0)
推荐(0)