关于c++的字符指针赋值问题
#include <iostream>using namespace std;
void func(char *s,char *t){
char k;
k=*s;
*s=*t;
*t=k;
s++;
t--;
if(*s){
func(s,t);
}
}
void main(){
char str="abcdefg",*p;
p=str+strlen(str)/2+1;
cout<<p<<endl;
func(p,p-2);
cout<<str<<endl;
}
结果为:efg
gfedcba
哪位大佬可以解释一下:p=str+strlen(str)/2+1;的含义 str表示首地址,,strlen(str)是字符串的长度也就是7;所以p就是首地址str+7/2+1就是指针指向第五个元素e! 笨小孩丶 发表于 2019-12-6 14:59
str表示首地址,,strlen(str)是字符串的长度也就是7;所以p就是首地址str+7/2+1就是指针指向第五个元素e!
谢谢,已明白
页:
[1]