# include <stdio.h> # include <string.h> void main() { char *p1="abc",*p2="ABC",str[50]="xyz";

# include <stdio.h>
# include <string.h>
void main()
{ char *p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+3,p2);
strcat(str+2,p1);
printf("%s\n",str);
}
这个str+3 str+2什么意思啊??

意思是str[50]="xyz",这个字符数组以首地址为基准向右移动3个位置为空就是z后面的位置,str+2就是向右移动2个位置是z。就是这个意思。
这个问题归结为数组指针的位置,希望你多看看数组指针~~~追问

哦 知道了 那这个程序输出多少?

追答

字符串的处理和数组指针都是一个道理,看来你太过于死板硬套了,这些知识都是互相联系的,不是独立分开的。

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜