亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大神指點一下,怎么里面還有字符???

大神指點一下,怎么里面還有字符???

拉風的咖菲貓 2022-12-22 17:13:28
1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 5 6 int main()7 8 {9 int a = 0;10 11 char buf[48] = {0};12 printf("輸入一個整數:");13 scanf("%d", &a);14 fflush(stdin);  15 printf("輸入一個字符串:");16 gets(buf);17 printf("buf = %s\n", buf);18  19 return 0;20 }程序如上,在終端運行結果如下:[hao@Roc 桌面]$ ./a.out輸入一個整數:5輸入一個字符串:buf = [hao@Roc 桌面]$ 為什么gets(buf)中接收的是一個空格或者是回車符,前面的fflush(stdin);不是清空了輸入緩沖區了嗎?
查看完整描述

2 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

flush(stdin)是用來清空輸入緩沖區,通常是為了確保不影響后面的數據讀取,例如在讀完一個字符串后緊接著又要讀取一個字符,此時應該先執行fflush(stdin)。
但要注意的是,此函數僅適用于部分編譯器(如VC6),但是并非所有編譯器都要支持這個功能(如gcc3.2)。這是一個對C標準的擴充。
你在linux下用的應該是gcc,因此可能不起作用。

查看完整回答
反對 回復 2022-12-25
?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

1、使用proces對象中的process.stdin對象輸入用戶的數據。

2、再使用process對象中的process.stdout對象輸出數據,展示屬性和屬性值。

3、查看node.js中的數組,如文件路徑和屬性,可以直接使用argv屬性遍歷文件。

4、若查看正在運行的Node.js程序對應的進程占用多少內存,直接使用process.memoryUsage方法。

5、process對象中的nextTick方法可以將一個函數推遲到下一個方法執行完畢時開始執行。

6、結合fs模塊和process對象中的nextTick方法,讀取文件中的內容。


查看完整回答
反對 回復 2022-12-25

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號