大家好
聽說八卦版們各方面的神人們都很多
想必一定也有精通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可憐不會不是罪,但連問問題都不行就要檢討了