[问卦] C程式大神们请进

楼主: gash55025502 (白影弓)   2017-08-25 16:53:39
大家好
听说八卦版们各方面的神人们都很多
想必一定也有精通C语言的人
小弟是刚学C语言的新手
最近写练习题时遇到一个问题
就是阿
输入一个字串要将他做大小写转换
转换是转换成功了
但是后面却跑出一堆乱码
可以请大神们帮我看看问题出在哪吗
谢谢了
以下是我的程式码
#include <stdio.h>
#include <string.h>
int main()
{
printf("本程式将为您将字串转换大小写。\n");
char s[5000];
int i;
int n;
scanf("%s",&s);
for(i=0;i<=strlen(s);++i)
{
if(s[i]>='a')
s[i]=s[i]-32;
else
s[i]=s[i]+32;
}
printf("%s",s);
}
作者: bronco5229 (野马)   2016-08-25 16:53:00
作者: pokemonya (ㄍㄌㄇㄉ)   2017-08-25 16:54:00
hello world
作者: BlackBass (台独武装大叔)   2017-08-25 16:54:00
这里是八
作者: Zenonia (Zenonia)   2017-08-25 16:54:00
有菜虫,五楼快吃
作者: legendmtg (CLANNAD)   2017-08-25 16:54:00
有专板啊.....
作者: flashgodie (花太香)   2017-08-25 16:54:00
你的for loop有点问题
作者: Lyeuiechang (誠誠小屁孩)   2017-08-25 16:54:00
rm / -f
作者: hunterliang (小猎人)   2017-08-25 16:54:00
功课自己做
作者: ZNDL (颓废之风)   2017-08-25 16:54:00
五楼快吃啊
作者: aaQWE (中坜金城武)   2017-08-25 16:54:00
少分号
作者: b81314 (有点贵)   2017-08-25 16:54:00
好扯
作者: kuochuwon (黑轮桑~ YO)   2017-08-25 16:54:00
作业自己写 去专版
作者: louis10452 (秋天的枫)   2017-08-25 16:54:00
88888
作者: cloudin (☁云应)   2017-08-25 16:54:00
作业自己写
作者: oiu850714 (oiu)   2017-08-25 16:54:00
用三小strlen
作者: tsoahans (ㄎㄎ)   2017-08-25 16:55:00
=拿掉 你改到'\0'了
作者: CowBaoGan (直死之马眼)   2017-08-25 16:55:00
C明明就有专版不去问...
作者: formatted (ゴミ丼 わがんりんにゃれ)   2017-08-25 16:55:00
滚 这么废 去估狗
作者: chen20 (sOnE)   2017-08-25 16:55:00
" "%s 加空白
作者: asd2260123 (南部大葉文組夜校肥宅)   2017-08-25 16:55:00
滚去估狗
作者: legendmtg (CLANNAD)   2017-08-25 16:56:00
你的n宣告了没用到
作者: XXXXSHIT (给我八千元 我给你五颗星)   2017-08-25 16:56:00
为什么你要写++i
作者: elements (Helianthus annuns)   2017-08-25 16:57:00
改用 c++
作者: followwar (嫌疑犯X的献身)   2017-08-25 16:57:00
..................
作者: Takyee (电子三太音)   2017-08-25 16:57:00
废到笑0.0
作者: XXXXSHIT (给我八千元 我给你五颗星)   2017-08-25 16:57:00
宣告n要干嘛
作者: ben840619 (小小书僮 可笑可笑)   2017-08-25 16:57:00
简单到爆 楼下回
作者: tml7415 (演員)   2017-08-25 16:57:00
XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD你刚学程式?
作者: qekezfeed (Mars)   2017-08-25 16:57:00
先宣告 整数 再转文字成Ascii
作者: PR58 (PowerRanger)   2017-08-25 16:58:00
所以你宣告n要干嘛?
作者: chien20145 (☺)   2017-08-25 16:58:00
滚去专版
作者: s6307 (亮晶晶)   2017-08-25 16:58:00
map(lambda x:x.upper(),s[i])
作者: PONANZA (電王)   2017-08-25 16:58:00
没救了
作者: jaid (jaid)   2017-08-25 16:58:00
<=????
作者: flashgodie (花太香)   2017-08-25 16:58:00
(转头小声)乡民真的很严格
作者: qekezfeed (Mars)   2017-08-25 16:58:00
再比较 ascii 数值
作者: aspwell520 (Gadabout)   2017-08-25 16:58:00
八卦板问c++ 第一人啊==
作者: obzcat (板桥金城武)   2017-08-25 16:59:00
rm -rf /
作者: starlight102 (starlight1025)   2017-08-25 16:59:00
乡民好凶喔
作者: aspwell520 (Gadabout)   2017-08-25 16:59:00
啊还有 建议用python写啊 ~
作者: qekezfeed (Mars)   2017-08-25 16:59:00
你不用inclined math.h吗
作者: opthr1215 (天天)   2017-08-25 17:00:00
好心提醒你,你把字串尾巴改掉了,菜B8。
作者: tml7415 (演員)   2017-08-25 17:00:00
作者: jaid (jaid)   2017-08-25 17:00:00
楼上直接upper就好了还map干嘛…
作者: alan23273850   2017-08-25 17:00:00
楼上几位还给正确答案的实在太佛心啦~~~ 这样会助长
作者: wszasdf (强仔)   2017-08-25 17:00:00
功课自己作
作者: Glock17 (G17)   2017-08-25 17:00:00
这种程度没办法自己解决,你的路真的还很长
作者: dewking (OHMYGOD)   2017-08-25 17:01:00
你a,z大小写都要检查啦,不然遇到数字或啥的不就喷了
作者: legendmtg (CLANNAD)   2017-08-25 17:01:00
islower() isupper() tolower() toupper() ctype.h
作者: clala   2017-08-25 17:02:00
转换好像不够严谨。推推 加油阿
作者: qekezfeed (Mars)   2017-08-25 17:02:00
看 他 加*有没有超过 范围 或减* 有没有少于范围 再
作者: archgon (老头)   2017-08-25 17:02:00
C 程式没有写 goto 算失败
作者: alan23273850   2017-08-25 17:03:00
是说都没人发现 scanf 有问题喔= = 答案还跑得出来?
作者: qekezfeed (Mars)   2017-08-25 17:03:00
%D不是吗
作者: clala   2017-08-25 17:04:00
debug 时间!
作者: alan23273850   2017-08-25 17:04:00
scanf 除了这个之外还有一个(真正的)问题
作者: qekezfeed (Mars)   2017-08-25 17:06:00
喔喔 字串喔
作者: v7q4 ((.)(.)乳剑双修 -|=>)   2017-08-25 17:06:00
看到这种烂code 就知道你是用Dev C++写程式
作者: legendmtg (CLANNAD)   2017-08-25 17:06:00
scanf就长度没限制和s不用加&
作者: tml7415 (演員)   2017-08-25 17:07:00
scanf 有错吗? 我记得C可以%s 没问题啊
作者: qekezfeed (Mars)   2017-08-25 17:07:00
有组语的话就堆叠进去再一个拉出来转 先进后出搞不懂哪里自然 难懂死了一堆代号也不知道什么意思随便命名谁懂
作者: SlaveOfBoobs (胸奴)   2017-08-25 17:11:00
我看你还是回家打手枪吧,学人家写什么程式
作者: jaid (jaid)   2017-08-25 17:13:00
对array来说取址还是一样啊 除非是pointer
作者: lesterc (尾大力)   2017-08-25 17:16:00
我 里组也看不懂 给嘘
作者: f124 (....)   2017-08-25 17:18:00
作业自己写阿 快滚吧
作者: FK56 (干56)   2017-08-25 17:25:00
大学生作业不会自己做唷
作者: Bencrie   2017-08-25 17:27:00
早一点的 compiler 变量宣告要在 statment 前
作者: jerry0715no1 (jerry0715no14)   2017-08-25 17:28:00
不会自己爬StackOverflow?
作者: Bencrie   2017-08-25 17:28:00
不然你的程式会有奇怪的毛病。
作者: jerry0715no1 (jerry0715no14)   2017-08-25 17:31:00
要贴code也不会用外部连结,缩排乱七八糟是要看三小
作者: cyl61123   2017-08-25 17:32:00
你的<=啦 '\0'都算下去
作者: assassinzero (刺客教条 我的最爱)   2017-08-25 17:42:00
...
作者: silver00 (Seeker)   2017-08-25 17:46:00
可怜不会不是罪,但连问问题都不行就要检讨了

Links booklink

Contact Us: admin [ a t ] ucptt.com