輸入輸出函式和i 與 i的區別

2021-07-14 22:05:57 字數 1231 閱讀 1873

1.atoi函式

作用:把字串轉化成數字,如果第乙個非空格字元存在,是數字或者正負號則開始做型別轉換,之後檢測到非數字(包括結束符 \0) 字元時停止轉換,返回整型數。否則,返回零。

範例:#include

#include

int main(void)

輸出結果:string = 12345.67 integer = 12345.000000

解釋:string的輸出結果是乙個字串,所以完整輸出;而atoi函式遇到非數字時會停止,所以在遇到小數點時停止了,結果就變成了12345.67.

2.scanf,gets和getchar的比較

不同點:1、 gets函式讀取資料時,接受的資料報括資料和回車符。即:讀取資料後輸入流沒有輸入 操作動作。 

2、 scanf函式讀取資料時,接受的資料只有資料,不包括回車符。即:讀取資料後輸入流 還存在回車符操作動作。 

3、 getchar函式讀取乙個字元資料時,接受的資料只有乙個字元,不包括回車符。即: 讀取乙個字元資料後就預設輸入資料結束。讀取資料後輸入流還存在回車符操作動作。

4、scanf與gets相似,但不完全相同,使用scanf("%s",&s);函式輸入字串時存在乙個問題,就是如果輸入了空格會認為字串結束,空格後的字元將作為下乙個輸入項處理,但gets()函式將接收輸入的整個字串直到遇到換行為止。

5、gets函式取數不經過緩衝區,而scanf取數有緩衝區。    

相同點  1 scanf,gets和getchar都是從鍵盤輸入資料然後讀取的函式。

在從鍵盤取字元型常量時,如果前面還有乙個scanf的函式,可以用getchar去清除上一句緩衝區的\n,否則會直接跳過讀取字元型變數這一步。

3.++i和i++的區別

++i先自加後使用,i++是先使用完畢後再加

++i和i++定義不難理解,關鍵是實際操作不一定會了。

範例     i的初值都為2

(1)num=(i++)+(i++)+(i++)+(i++);

(2)num=(i++)+(++i)+(++i)+(++i);

(3)i=(i++)+(++i)+(i++)+(++i);

(4)int fun(int a,int b)(程式不完整)

int main()

結果:(1)num=2+2+2+2=8 i=2+1+1+1+1=6

(2)num=4+4+5+6=19i=6

(3)i=3+3+3+4+2=15

(4)a=3,b=4

A B輸入輸出練習系列 I

a b輸入輸出練習包括八種基本形態,第一種,即簡單輸入a,b並輸出結果 你的任務是計算a b。這是為了acm初學者專門設計的題目。你肯定發現還有其他題目跟這道題的標題類似,這些問題也都是專門為初學者提供的。輸入包含一系列的a和b對,通過空格隔開。一對a和b佔一行。對於輸入的每對a和b,你需要依次輸出...

問題 A A B 輸入輸出練習I

題目鏈結 題目描述 你的任務是計算a b。這是為了acm初學者專門設計的題目。你肯定發現還有其他題目跟這道題的標題類似,這些問題也都是專門為初學者提供的。輸入 輸入包含一系列的a和b對,通過空格隔開。一對a和b佔一行。輸出 對於輸入的每對a和b,你需要依次輸出a b的和。如對於輸入中的第二對a和b,...

i 和 i 的輸出

include include include int main int argc,const char argv 輸出結果為 3 3 3 1 0 0 在vs中 printf輸出時,從輸出表示式右到左計算,然後從右到左入棧,再出棧 vs中的彙編下的 5 int main int argc,const...