C語言scanfad,bda,b輸入中ad的含義

2021-03-06 00:28:56 字數 2903 閱讀 8164

1樓:天雨下凡

%d是格式符,或者叫佔位符,它表示你輸入(scanf是輸入,printf是輸出)的值以int型的格式存入後面的變數中,第一個%d對應變數a,第二個%d對應變數b,注意,用scanf輸入內容時,要嚴格按照雙引號中的格式輸入,比如輸入:

a=3,b=5 //此時,a的值為3,b的值為5

2樓:其楊氏始詩

scanf("a=%d,

b=%d,

c=%d",

&a,&b,

&c);的意思就是說你要根據下面的格式輸入:a=1,b=2,

c=3其中每個%d依次對應後面的引數a,b,c;比如你按上面輸入後,在程式裡面就對a,b,c會進行賦值為a=1,

b=2,c=3

3樓:慎玉巧勇雀

scanf

是格式化輸出的意思%d

是整數型輸出&

取地址的值所以

的意思就是:以整數型輸出a,b,c3個數的值。。

4樓:接印枝波亥

%d讀入十進位制整數

%s讀入一個字串,遇空格、製表符或換行符結束。

*表示本輸入項在讀入後不賦值給相應的變數

c語言程式分析題

5樓:匿名使用者

執行格式化輸入函式:scanf()。原型: int scanf(char *format[,argument,...]);

scanf()函式是通用終端格式化輸入函式,專

它從標準輸屬入裝置(鍵盤) 讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內格式。

scanf()的格式控制串可以使用非空白字元,但在輸入時必須輸入這些字元。

例: scanf("%d,%d",&a,&b);

輸入: 3,4 ↙(逗號與"%d,%d"中的逗號對應)

scanf("a=%d,b=%d",&a,&b);

輸入: a=3,b=4 ↙("a=","b=",逗號與"%d,%d"中的"a=","b="及逗號對應)

scanf("%d%d",&a,&b)與scanf("%d,%d",&a,&b)的區別!!

6樓:園林植物手冊

1、scanf("%d%d",&a,&b)輸入的兩個資料用空格,tab或者回車區分開。

2、scanf("%d,%d",&a,&b) 輸入的兩個資料用逗號區分開。

3、scanf函式功能是從外設讀取資料並賦值給變數,%d代表接收一個整形數,&a代表變數a的記憶體地址,也就是說把讀取的第一個整形數賦值給變數a。

4、scanf函式稱為格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中,其關鍵字最末一個字母f即為「格式」(format)之意。

使用scanf函式常見的問題

1、在高版本的 visual studio 編譯器中,scanf 被認為是不安全的,被棄用,應當使用scanf_s代替 scanf。

2、對於字串陣列或字串指標變數,由於陣列名可以轉換為陣列和指標變數名本身就是地址,因此使用scanf()函式時,不需要在它們前面加上"&"操作符。

3、 可以在格式化字串中的"%"各格式化規定符之間加入一個整數,表示任何讀操作中的最大位數。

4、 scanf函式中沒有類似printf的精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。

5、scanf中要求給出變數地址,如給出變數名則會出錯

如 scanf("%d",a);是非法的,應改為scanf("%d",&a);才是合法的。

6、 在輸入多個數值資料時,若格式控制串中沒有非格式字元作輸入資料之間的間隔,則可用空格,tab或回車作間隔。

c編譯在碰到空格,tab,回車或非法資料(如對「%d」輸入「12a」時,a即為非法資料)時即認為該資料結束。

7、 在輸入字元資料(%c)時,若格式控制串中無非格式字元,則認為所有輸入的字元均為有效字元。

7樓:匿名使用者

關鍵就是輸入的時候是以什麼來區分你的輸入的2個數的%d%d就是以空格,tab或enter區分,你在螢幕輸入的時候要輸入2 3

而%d,%d是以,來區分的,你在螢幕上輸入數字的時候就要輸入2,3不存在scanf("%d","%d",&a,&b)?

8樓:匿名使用者

一樓的回答太詳盡了 我都不好意思開口了

scanf("%d 和%d 之間不能用逗號隔開,否則編譯時會出錯; %d和%d 之間可以用空格隔開 或是什麼也不要 %d%d 直接相連也行

9樓:匿名使用者

scanf()括號中引號內的內容必須輸入,你第二個scanf()的引號裡多了一個逗號,在程式執行時輸入資料必須也輸入這個逗號,否則會出錯。

10樓:匿名使用者

第一個在輸入的時候中間可以是隨便的間隔符,如空格,回車都可以。但是第二種就只能輸入逗號換行。只有這樣才能識別

11樓:匿名使用者

一樓的回答太詳盡了 我都不好意思開口了

12樓:子夜清風

兩者的區別在於在編譯是前者用空格或tab分開,後者用都好分開兩數!!

至於最後一個問題好像沒見過!!

13樓:匿名使用者

前者輸入時用空格或tab分開,後者用逗號分開輸入

14樓:噶話噶

三峽大壩蓄水後,遊人泛舟神女的石榴裙下,仍需仰頭眺望,才能欣賞到神女的綽約風姿。

這道C語言怎麼輸不出數,C語言編輯程式輸不出結果

你輸出時for迴圈後面多了個分號,輸出時i 5,你其實輸出的都是z 5 這個是陣列z之後的記憶體單元,已經越界的。而且你的倒序演算法有問題,給你個參考 for i 0 i 5 2 i 第一個for 和第三個for 括號後面的分號去掉就可以啦。把陣列調換部分修改如下 for i 0 i 5 2 i 交...

c語言輸出字串陣列出現亂碼,C語言陣列輸出出現亂碼

c語言字串以 0 結尾,如果不以該符號結尾則輸出 s時會出錯,程式一直往存放字串的地址訪問。而你的程式中並沒有賦 0 給那兩個陣列,所以會出現亂碼。沒有出現亂碼的陣列是因為你初始化了,初始化時編譯器會給它加上 0 符號。include int main void c語言中字串以 0 結尾,你這樣迴圈...

c語言程式設計輸入年份判斷其是否為閏年並輸

include int main else 按照百科的說法,閏年的定義是能被4整除但不能被100整除,或能被400整除的年份即為閏年。由於邏輯運算子邏輯與和邏輯或的關係。這兩個邏輯運算子都進行阻斷操作。也就是說 操作符。如果第一個表示式不成立的話,這個操作到此就結束了,不會去驗證後面的表示式是否成立...