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

看板C_and_CPP (C/C++)作者 (drey)時間16年前 (2009/04/20 20:35), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/2 (看更多)
不好意思請問大家 我想寫一個選單的程式這樣 第一個是要把字串反轉複製 abc變成cba這樣 我是這樣子寫的 #include<stdio.h> #include<string.h> main() { int a; printf("輸入\n"); scanf("%d",&a); switch (a) { case '1': { 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=10;i<10;i++,j--) { b[i]= c[j]; } printf("%s",c) ; } 編譯器編譯執行顯示沒有error 可是怎麼會在scanf後 程式就自己跳出來了? 麻煩大家回答一下 謝謝 感激不盡 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.9.179

04/20 20:40, , 1F
因為你判斷的是char,不是int啊
04/20 20:40, 1F

04/20 21:14, , 2F
for(i=0,j=9;i<10;i++,j--) c[i] = b[j];
04/20 21:14, 2F

04/20 21:20, , 3F
不對,這樣直接相反會變成空字串= =
04/20 21:20, 3F

04/20 21:33, , 4F
b[0]=c[10] //1.沒有c[10] 2.c拿來裝了什麼東西?
04/20 21:33, 4F

04/20 21:51, , 5F
add getchar() after scanf();
04/20 21:51, 5F
文章代碼(AID): #19x6luSZ (C_and_CPP)
文章代碼(AID): #19x6luSZ (C_and_CPP)