查错,一个字符串逆序的程序

chenjkai1988 2012-09-04 09:22:37
#include <stdio.h>
#include <string.h>
void reverse(char *str){
int len = strlen(str);
char *p = str + len - 1;
char tmp;
while(str < p){
tmp = *str;
*str = *p;//这一行总报错求原因,谢谢
*p = tmp;
}
}
void printString(char *str){
printf("%s", str);
}

int main(int argc, char *argv[])
{
char *string = "chenjinkai";
printString(string);
reverse(string);
printString(string);
return 0;
}
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglu343280746 2012-09-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
#include <stdio.h>
#include <string.h>
void reverse(char *str){
int len = strlen(str);
char *p = str + len - 1;
char tmp;
while(str < p){
tmp = *str;
*str = *p;//这一行总报错求原因,谢谢
*p = tmp;
}
……
[/Quote]
char *string = ”chenjinkai";这句话的意思是 定义一个char* 型的指针,指向常量“chenjinkai”;常量区不能修改的。楼上已经说了修改方法。
mujiok2003 2012-09-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

char *string = "chenjinkai"; 这是常量字符串,不能修改:

改成: char string[] = "chenjinkai";
[/Quote]

++,在C++里推荐使用std::string
guochanoo7 2012-09-04
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>
void reverse(char *str){
int len = strlen(str);
char *p = str + len - 1;
char tmp;
while(str <= p){
tmp = *str;
*str = *p;
*p = tmp;
str++;
p--;
}

}
void printString(const char *str){
printf("%s\n", str);
}

int main(int argc, char *argv[])
{
char string[] = "chenjinkai";
printString(string);
reverse(string);
printString(string);
return 0;
}
拿分,走人
hen_hao_ji 2012-09-04
  • 打赏
  • 举报
回复
char *string = "chenjinkai"; 这是常量字符串,不能修改:

改成: char string[] = "chenjinkai";
hen_hao_ji 2012-09-04
  • 打赏
  • 举报
回复
char *string = "chenjinkai"; 这是常量字符串,不能修改:

改成: char string[] = "chenjinkai";
aozhi 2012-09-04
  • 打赏
  • 举报
回复
main函数中
char *string = "chenjinkai";
改成
char string[] = "chenjinkai";
hen_hao_ji 2012-09-04
  • 打赏
  • 举报
回复
char *string = "chenjinkai"; 这是常量字符串,不能修改:

改成: char string[] = "chenjinkai";
Gonefar 2012-09-04
  • 打赏
  • 举报
回复
while(str < p){
tmp = *str;
*str = *p;//这一行总报错求原因,谢谢
*p = tmp;
}

这里指针不移动怎么revers字符串?
应该加上p--;str++;

69,335

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧