大家好
听说八卦版们各方面的神人们都很多
想必一定也有精通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);
}
作者:
Zenonia (Zenonia)
2017-08-25 16:54:00有菜虫,五楼快吃
作者: flashgodie (花太香) 2017-08-25 16:54:00
你的for loop有点问题
作者:
ZNDL (颓废之风)
2017-08-25 16:54:00五楼快吃啊
作者:
aaQWE (中坜金城武)
2017-08-25 16:54:00少分号
作者:
b81314 (有点贵)
2017-08-25 16:54:00好扯
作者:
cloudin (☁云应)
2017-08-25 16:54:00作业自己写
作者:
formatted (ゴミ丼 わがんりんにゃれ)
2017-08-25 16:55:00滚 这么废 去估狗
作者:
chen20 (sOnE)
2017-08-25 16:55:00" "%s 加空白
作者:
asd2260123 (å—éƒ¨å¤§è‘‰æ–‡çµ„å¤œæ ¡è‚¥å®…)
2017-08-25 16:55:00滚去估狗
作者:
XXXXSHIT (给我八千元 我给你五颗星)
2017-08-25 16:56:00为什么你要写++i
作者:
elements (Helianthus annuns)
2017-08-25 16:57:00改用 c++
作者: 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:00XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD你刚学程式?
作者:
PR58 (PowerRanger)
2017-08-25 16:58:00所以你宣告n要干嘛?
作者:
s6307 (亮晶晶)
2017-08-25 16:58:00map(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
(转头小声)乡民真的很严格
作者:
obzcat (板桥金城武)
2017-08-25 16:59:00rm -rf /
作者: starlight102 (starlight1025) 2017-08-25 16:59:00
乡民好凶喔
作者:
tml7415 (演員)
2017-08-25 17:00:00作者: jaid (jaid) 2017-08-25 17:00:00
楼上直接upper就好了还map干嘛…
楼上几位还给正确答案的实在太佛心啦~~~ 这样会助长
作者:
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大小写都要检查啦,不然遇到数字或啥的不就喷了
islower() isupper() tolower() toupper() ctype.h
作者: clala 2017-08-25 17:02:00
转换好像不够严谨。推推 加油阿
看 他 加*有没有超过 范围 或减* 有没有少于范围 再
作者:
archgon (老头)
2017-08-25 17:02:00C 程式没有写 goto 算失败
是说都没人发现 scanf 有问题喔= = 答案还跑得出来?
作者: clala 2017-08-25 17:04:00
debug 时间!
作者:
v7q4 ((.)(.)乳剑双修 -|=>)
2017-08-25 17:06:00看到这种烂code 就知道你是用Dev C++写程式
作者:
tml7415 (演員)
2017-08-25 17:07:00scanf 有错吗? 我记得C可以%s 没问题啊
有组语的话就堆叠进去再一个拉出来转 先进后出搞不懂哪里自然 难懂死了一堆代号也不知道什么意思随便命名谁懂
作者: 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大学生作业不会自己做唷
早一点的 compiler 变量宣告要在 statment 前
要贴code也不会用外部连结,缩排乱七八糟是要看三小
作者: cyl61123 2017-08-25 17:32:00
你的<=啦 '\0'都算下去
作者:
silver00 (Seeker)
2017-08-25 17:46:00可怜不会不是罪,但连问问题都不行就要检讨了