1樓:
要耐心看啊!別看字多,容易讀的!!!要分成3段讀,不要一口氣看完!
1.scanf就是輸入一個數然後回車結束。聽不懂不好意思、別理他
舉個例子:
int i; //定義i
然後我們提示使用者輸入,
printf("請輸入一個數:");
接著,我們使用scanf("%d",&i);
輸入完數後,我們跟使用者說聲你剛才輸的數
printf("您剛才輸入的數是%d",i);
分析:首先定義int i是沒有問題要問的。
之後用printf也是沒有問題要問的,要問的是在printf之後。
電腦執行到printf看到後面的scanf函式,便停了下了,等待使用者輸入。所以在一個c語言程式裡,
有scanf函式就要停下來等待使用者輸入。但是使用者輸入完後要怎麼跟電腦說:」我輸入完了「?
就是用scanf函式本身要按回車鍵的功能。
scanf函式意思」總結「:電腦碰到scanf要停下,等待使用者輸入,使用者輸入後按回車告訴電腦輸入ok,電腦繼續執行下面的**。
樓主你說的沒有設定,是不可能設定的。
2.這個問題簡單。
scanf("%d",&i);
首先我們輸入88,這之後一個空格,很好,你沒有用回車鍵告訴電腦,而是用空格鍵。
88之後空格,然後不管你輸入多少,比如88 544還是88 9990,或者在一個空格88 878 897
這些數字裡,翻譯器只取88,為什麼呢?其實空格和回車差不多,講講區別吧!
空格:我們輸入空格之後,可以繼續輸入數字,不管是多少,都可以。
回車:而我們輸入回車後,電腦就立即把回車鍵之前你所寫的看做數,就如,88然後回車,電腦把回車之前的88看做使用者所輸入的數。但是,如果包含空格鍵,直接把後面的數省略!就如:
88 99,88後面有空格,空格和99將被忽略。
講了這麼多,總而言之,輸入88,然後按空格的時候,電腦已經把88看做一個數了,所以後面的99是另一個數,所以不寫入&i。
擴充套件知識:如果要輸入倆個數甚至n個數,**如下:
#include "stdio.h"
main()
int i;
int a;
pirntf("請輸入倆個數(輸入第二個數用空格鍵隔開!)");
scanf("%d %d",&i,&a);
printf("這倆個數分別是:%d和%d",i,a);
3.上面已經說了,空格和回車差不多個功能,按空格時電腦把前面所輸入的看作是數,
例如輸入88然後空格,然後99,空格前的88已經賦給i了,99不能賦值,直接忽略。
不過,樓主是空格空格,但是空格之前沒有使用者所輸入的,等於沒有。所以給88.
如果是新手,可以看擴充套件知識,裡面有一個錯誤,大家去找找;如果是高手,就可以忽略這個錯誤。
2樓:愛水有水
這是c語言函式庫中有的,c語言本身並不提供輸入輸出語句,輸入和輸出操作是由c函式庫中的函式來實現的。
3樓:匿名使用者
這個是他系統規定的。如果你自己有能力,自己做個軟體什麼你也可以給他規定個東西,正所謂我的世界我做主。
4樓:匯錦大黑豬
scanf函式,與printf函式一樣,都被定義在stdio.h裡有興趣的去找到這個標頭檔案看看哦
scanf(格式控制,地址表列)
格式字元說明說下:
%a,%a 讀入一個浮點值(僅c99有效)%c 讀入一個字元
%d 讀入十進位制整數
%i 讀入十進位制,八進位制,十六進位制整數
%o 讀入八進位制整數
%x,%x 讀入十六進位制整數
%c 讀入一個字元
%s 讀入一個字串,遇空格、製表符或換行符結束。
%f,%f,%e,%e,%g,%g 用來輸入實數,可以用小數形式或指數形式輸入。
%p 讀入一個指標
%u 讀入一個無符號十進位制整數
%n 至此已讀入值的等價字元數
% 掃描字符集合
%% 讀%符號
5樓:
scanf是輸入的意思!
printf是輸出的意思!
6樓:匿名使用者
這沒啥為什麼,就跟你學英語時候的固定短語,沒人說為什麼,就是這麼規定的,記住就好
c語言中scanf和fputc不能同時用在for迴圈中
你確定這個程式能跑起來?c根本就是沒有宣告的變數。用c語言進行程式時同時使用for迴圈和scanf輸入多個結構體資料時一直出問題 附上兩張圖 5 for和scanf有直接的關係嗎?用不用迴圈,你需要的輸入的資料量都不會改變?c語言中for語句中的表示式一能不能寫scanf語句呢?for scanf ...
c語言中用scanf輸入雙精度浮點數
c語言中用scanf輸入雙精度浮點數的源 如下 include include int main int n,a,i printf 請輸入陣列長度 scanf d n a malloc sizeof int n 分配記憶體 printf 請輸入 d個數 n n for i 0 i n i scanf...
scanf函式c的問題,c語言scanf函式格式問題
首先scanf應該這樣用 scanf 格式化字串 變數地址 你的用法是錯誤的 c 只從輸入緩衝裡讀一個字元,但是你在輸入的時候不只一個字元,剩下的字元 包括回車 就留給第二個 c 了 解決方法 printf y or n?scanf c n a fflush stdin printf y or n?...