6_3 编写函数reverse_string. 实现字符串翻转

函数原型:  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--;

}
}
一开始 // 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--;
}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值