亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1338 | 回復(fù): 5
打印 上一主題 下一主題

一個(gè)運(yùn)行結(jié)果,怎么也想不通。請(qǐng)朋友們指教 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2004-08-10 10:07 |只看該作者 |倒序?yàn)g覽
因?yàn)椴恢缹儆谀念?lèi)問(wèn)題,只好這樣命名,請(qǐng)斑竹見(jiàn)諒。
代碼很簡(jiǎn)單:

  1. #include <stdio.h>;
  2. #include <ctype.h>;
  3. //------------------------------------------
  4. 01void main()
  5. 02{
  6. 03        char ch;
  7. 04        int i=1;
  8. 05        while(i){
  9. 06
  10. 07                do{
  11. 08                        printf("(E) enter name\n");
  12. 09                        printf("(R) report name\n");
  13. 10                        printf("(Q) quit\n");
  14. 11                        scanf("%c",&ch);
  15. 12                        ch=toupper(ch);
  16. 13                }while(ch!='E' && ch!='R' && ch!='Q');
  17. 14
  18. 15                switch(ch){
  19. 16
  20. 17                     case 'E': printf("enter name!\n");
  21. 18                                                 break;
  22. 19                     case 'R': printf("report name!\n");
  23. 20                                                  break;
  24. 21                     case 'Q': printf("quit\n");i=0;
  25. 22                }
  26. 23        }
  27. 24}

復(fù)制代碼

但是運(yùn)行結(jié)果很怪

  1. (E) enter name
  2. (R) report name
  3. (Q) quit
  4. e
  5. enter name!
  6. (E) enter name
  7. (R) report name
  8. (Q) quit
  9. (E) enter name
  10. (R) report name
  11. (Q) quit
復(fù)制代碼

為什么會(huì)顯示兩遍?
我在第11行 "scanf" 的后面加了一個(gè)printf("%d======",ch);
結(jié)果如下:


  1. (E) enter name
  2. (R) report name
  3. (Q) quit
  4. e
  5. 101====================
  6. enter name!
  7. (E) enter name
  8. (R) report name
  9. (Q) quit
  10. 10====================
  11. (E) enter name
  12. (R) report name
  13. (Q) quit
復(fù)制代碼

第二次輸出前面那個(gè)10是怎么回事?我想不通.
這段代碼在VC6.0和TC3上結(jié)果相同(WIN2K)[/quote]

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2004-08-10 10:37 |只看該作者

一個(gè)運(yùn)行結(jié)果,怎么也想不通。請(qǐng)朋友們指教

很正常,輸入的回車(chē)也是一個(gè)字符嘛。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2004-08-10 11:50 |只看該作者

一個(gè)運(yùn)行結(jié)果,怎么也想不通。請(qǐng)朋友們指教

ASIC碼前幾個(gè)值的含義我忘了。如果如樓上所說(shuō)的話,這個(gè)回車(chē)是很可惡的。如果寫(xiě)兩個(gè)scanf就會(huì)陷入死循環(huán)。對(duì)于這個(gè)例子當(dāng)然是無(wú)所謂了,這只是個(gè)簡(jiǎn)化的程序?捎袝r(shí)候他會(huì)影響程序的輸入的,有什么辦法避免這樣嗎?

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2004-08-10 14:51 |只看該作者

一個(gè)運(yùn)行結(jié)果,怎么也想不通。請(qǐng)朋友們指教

在scanf()后面加一行:

fflush(stdin);

就OK了!

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2004-08-11 03:38 |只看該作者

一個(gè)運(yùn)行結(jié)果,怎么也想不通。請(qǐng)朋友們指教

>;>; 在scanf()后面加一行:
>;>; fflush(stdin);
>;>; 就OK了!

上述回答不盡正確。請(qǐng)參照這個(gè)帖子的說(shuō)明:http://www.72891.cn/forum/v ... t=whyglinux#2335679

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2004-08-11 09:19 |只看該作者

一個(gè)運(yùn)行結(jié)果,怎么也想不通。請(qǐng)朋友們指教

感謝大家的幫助,問(wèn)題解決。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP