不可以修改指针字符串
har *m = "hello";
"hello"保存在静态数据区,该数据不能修改.
由指针m指向. 不能通过指针m来修改静态数据区的值.
char w[] = "hello";
"hello"保存在栈空间数组里. 数组名为w, 函数名为数组的首地址.
可以通过w[i]='a', 或*(w+i)='a'的形式来修改数组内容.
坑爹 倒置字符串。。。
void reverse(char* s) {
int length = strlen(s);
int end = length - 1;
int start = 0;
int middle = length / 2;
for (int i = 0; i < length; i++) {
char temp = s[start];
s[start] = s[end];
s[end] = temp;
start = start + 1;
end = end - 1;
if (start == middle || end == middle) {
return;
}
}
}
int main() {
char s1[] = "aaccnull"; ///char* s1="aaccnull";错误字符串指针不可以修改
reverse(s1);
int length = strlen(s1);
for (int i = 0; i < length; i++) {
cout << s1[i];
}
}