这种操作没有实际改变字符串str[]的内容,它不过是另外返回一个指向字符串某个位置的指针,宣称字符串从这里开始,但原先的那个字符串仍然存在,它没有任何改动。你指望使用的人,通过函数返回的指针来操作,但事实未必如此,很多时候,原先用str[],他希望的是仍用str[],不是叫他用*str[5]。
现在这个函数干的是什么呢?对字符串str[] = "
Hello,world!",它返回了str[3]的地址,即&str[3],但当我们printf("%s", str)的时候,就会发现什么都没有改变。这不是一个好主意。
[
本帖最后由 TonyDeng 于 2011-8-7 16:02 编辑 ]