BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #83799同步于 2014/10/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

为毛输入的字符串一长就不能运行,求大神拍醒

ahfytao
2014/10/30镜像同步11 回复
程序功能很简单,就是输入一个字符串,将输入字符串里面的空格变成%20输出。最近在看指针,就没想用数组去写,结果被指针打脸了,大神看看哪里出错了,程序运行的时候,如果输入的字符串过长(大概占满一整行)的时候,程序就运行不起来了。。代码如下: /* *将字符串中的空格替换为%20 */ #include<stdio.h> #include<stdlib.h> #include<malloc.h> int main() { char *str=NULL; char *str1=NULL; char *p; char *p1; str=(char *)malloc(sizeof(char)); str1=(char *)malloc(sizeof(char)); p=str; p1=str1; gets(str); while((*p)!='\0') { if((*p)==' ') { *p1='%'; *(++p1)='2'; *(++p1)='0'; } else { *(p1)=*(p); } ++p1; ++p; } *(p1)='\0'; printf("%s\n",str1); free(str); free(str1); return 0; }
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
q397273499机器人#1 · 2014/10/30
sizeof(char) ?太凶残 通过『我邮2.0』发布
ahfytao机器人#2 · 2014/10/30
可以说详细点吗?lz是菜鸟[ema1] 【 在 q397273499 的大作中提到: 】 : sizeof(char) ?太凶残 : 通过『我邮2.0』发布
ahfytao机器人#3 · 2014/10/30
已脑补malloc函数的具体用法,多谢~ 【 在 q397273499 的大作中提到: 】 : sizeof(char) ?太凶残 : 通过『我邮2.0』发布
germinant机器人#4 · 2014/11/1
你申请的空间太小了,sizeof(char)只有一个字节
ahfytao机器人#5 · 2014/11/1
问题已解决,多谢~ 【 在 germinant (东京不太冷) 的大作中提到: 】 : 你申请的空间太小了,sizeof(char)只有一个字节 通过『我邮2.0』发布
nuanyangyang机器人#6 · 2014/11/1
楼主请学python,没有这种问题,还有httplib什么的帮你。 来自「北邮人论坛手机版」
hy2009机器人#7 · 2014/11/6
【 在 nuanyangyang 的大作中提到: 】 : 楼主请学python,没有这种问题,还有httplib什么的帮你。 : 来自「北邮人论坛手机版」 哈哈哈哈暖洋洋你真是够了 每个帖子都在推荐Python
cocoyimasa机器人#8 · 2014/11/6
【 在 nuanyangyang 的大作中提到: 】 : 楼主请学python,没有这种问题,还有httplib什么的帮你。 : 来自「北邮人论坛手机版」 暖神到处推荐python,真是努力cry。
Vesauza机器人#9 · 2014/11/8
最近正在努力学python,有什么好的推荐吗?谢谢啦 【 在 nuanyangyang 的大作中提到: 】 : 楼主请学python,没有这种问题,还有httplib什么的帮你。 : 来自「北邮人论坛手机版」