Re: [問題] 問一個簡單的問題 謝謝

看板C_and_CPP (C/C++)作者 (夏天來了)時間16年前 (2009/04/21 01:03), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《drey (drey)》之銘言: : 不好意思請問大家 : 我想寫一個選單的程式這樣 : 第一個是要把字串反轉複製 : abc變成cba這樣 : 我是這樣子寫的 : #include<stdio.h> : #include<string.h> : main() : { : int a; : printf("輸入\n"); : scanf("%d",&a); ^^^^ 這邊因為你用 %d,所以 假設你輸入 1 ,則 a == 1 假設你輸入 2 ,則 a == 2 ...... : switch (a) : { : case '1': 用''夾起來代表ascii code,'1' == 48 '2' == 49 ...... 所以你這4個case都不會被執行到 : { : str1(); : break; : } : case '2': : { : break; : } : case '3': : break; : case '4': : break; : } : return 0; : } : void str1() : { : int i,j; : char b[10]; : char c[10]; : gets(b); for(i=0,j=strlen(b)-1;i<strlen(b);i++,j--) : { c[i]= b[j]; : } c[i] = 0; : printf("%s",c); : } : 編譯器編譯執行顯示沒有error : 可是怎麼會在scanf後 : 程式就自己跳出來了? : 麻煩大家回答一下 : 謝謝 : 感激不盡 : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.81.87

04/21 01:21, , 1F
哇 不要把 strlen 放到迴圈條件事裡吧 測一次呼叫一次很傷
04/21 01:21, 1F
文章代碼(AID): #19xAhIfF (C_and_CPP)
文章代碼(AID): #19xAhIfF (C_and_CPP)