函数原型: void reverse_string (char *string); 提示:不需要声明一个局部数组来临时存储参数字符串
我一开始就是想整个字符数组来保存的。。。然后看的答案,自己再独自敲的。。。
#include<iostream>
using namespace std;
void reverse_string (char *string);
void main()
{
// char *src="yang";
// reverse_string(src);
char b[20]="yang " ;
reverse_string(b);
cout<<b<<endl;
}
void reverse_string (char *string)
{
char *str1;
char tmp;
for(str1=string;*str1!='\0';str1++) // for(str1=string;str1!='\0';str1++)
;
str1--; //str1指向末尾指针
while(string<str1)
{
tmp=*string;
*string=*str1;
*str1=tmp;
string++;
str1--;
}
using namespace std;
void reverse_string (char *string);
void main()
{
// char *src="yang";
// reverse_string(src);
char b[20]="yang " ;
reverse_string(b);
cout<<b<<endl;
}
void reverse_string (char *string)
{
char *str1;
char tmp;
for(str1=string;*str1!='\0';str1++) // for(str1=string;str1!='\0';str1++)
;
str1--; //str1指向末尾指针
while(string<str1)
{
tmp=*string;
*string=*str1;
*str1=tmp;
string++;
str1--;
}
}
一开始 // for(str1=string;str1!='\0';str1++) 写成这样子,也没报错,就是运行提示错误。。 还有就是char *src="yang"; 这样运行报错,就是字符常量不能修改!
"常量字符串在静态数据区,无法修改。只能复制到栈或堆中,再做修改。!!!
但是加上这句
#pragma comment(linker,"/SECTION:.rdata,RW") 就可以修改了! 自己测试可行,后果自负!!
#include<iostream>
using namespace std;
//#pragma comment(linker,"/SECTION:.rdata,RW")
void reverse_string (char *string);
void main()
{
char *src="yang";
reverse_string(src);
// char b[20]="yang " ;
// reverse_string(b);
// cout<<b<<endl;
cout<<src<<endl;
}
void reverse_string (char *string)
{
char *str1;
char tmp;
for(str1=string;*str1!='\0';str1++) // for(str1=string;str1!='\0';str1++)
;
str1--; //str1指向末尾指针
while(string<str1)
{
tmp=*string;
*string=*str1;
*str1=tmp;
string++;
str1--;
}
}
using namespace std;
//#pragma comment(linker,"/SECTION:.rdata,RW")
void reverse_string (char *string);
void main()
{
char *src="yang";
reverse_string(src);
// char b[20]="yang " ;
// reverse_string(b);
// cout<<b<<endl;
cout<<src<<endl;
}
void reverse_string (char *string)
{
char *str1;
char tmp;
for(str1=string;*str1!='\0';str1++) // for(str1=string;str1!='\0';str1++)
;
str1--; //str1指向末尾指针
while(string<str1)
{
tmp=*string;
*string=*str1;
*str1=tmp;
string++;
str1--;
}
}