[問卦] 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