關於c語言的scanf函式的逗號問題

時間 2021-09-11 22:33:38

1樓:匿名使用者

對於scanf()函式,如果格式控制串裡有逗號(或其他非格式符號),鍵盤輸入時,必須嚴格按照控制串的內容鍵入,不能隨意輸入。如scanf("a=%d,b=%d",&a,&b);響應輸入是a=xx,b=xx(xx是整形數)。scanf()函式還有一個特點較為常用,該函式會將白字元(空格、、)作為資料間的分隔符,比如scanf("%d%s%d",&a,str,&b);,響應輸入是:

12 asder334 35,此後,12賦給a,"asder334 "拷貝到str陣列,35賦給b,且各個資料之間的空白符可以是一個,也可以是多個。

#include

int main() student1,student2;

if(student1.score > student2.score)

printf("%d,%s,%f\n",student1.num,student1.name,student1.score);

else if(student1.score < student2.score)

printf("%d,%s,%f\n",student2.num,student2.name,student2.score);

else

return 0;}

2樓:匿名使用者

輸入字元wang,89時候這整個應該被預設為字串存入了student1.name

c語言scanf輸入時可以加逗號的嗎?

3樓:你不愛吃烤肉

可以,但是輸入資料的時候一定也要加上逗號。

用scanf()讀取資料時,輸入的格式必須和scanf()的格式控制字串對應,比如說:

1、scanf("%d,%d",&a,&b);因為兩個%d之間有一個逗號,所以在輸入時兩個整數之間只能用逗號分隔,如果用其它符號分隔就會出錯(比如說此時用空格、回車分隔就會出錯)

2、scanf("%d%d",&a,&b);這個格式控制字串就可以用空白分隔(空格,回車都可以)

擴充套件資料:

c語言逗號運算子:

逗號運算子是所有運算子中級別最低的,遇到逗號運算子表示運算結束;

int i=0;

int j=(i++,i++,i++);

遇;才算結束

i=0;

int k=(i++)+(i++)+(i++);

int a=10;

int b;

int num = (a = 19, b = 10, a + 1);

c語言逗號表示式:

這種型別的運算子成為逗號表示式,又稱為「順序求值運算子」。

int a=10;

a = 3 * 5, a * 4;

printf("%d\n", a);//15;把a = 3 * 5作為一個整體,是一個賦值語句;後面a * 4是另外一個語句;

a=10;

printf("%d\n", (a = 3 * 5, a * 4));//60;括號內是一個整體,它的值是最後一個表示式的值,先執行得出a=15,後運算15*4=60;

a=10;

printf("%d\n", a = 3 * 5, a * 4);//15;這裡的逗號是作為引數的分隔作用,a=15,後面的a * 4沒有列印;

a=10;

printf("%d,%d\n", a = 3 * 5, a * 4);//15,40;

4樓:也不予u與

兄弟們,我終於發現了。

無論課本還是老師講課,都說可以加逗號,只要注意前後格式一致就好。例如scanf("%d,%d",&a,&b);

在程式中也寫 1,2,3

即便這樣 也還是出錯

是因為 即使在你寫程式時,逗號都是用英文的。

但是!在你自己寫的程式裡鍵入時,不知為啥自動變為中文,所以注意用英語逗號就好了。

5樓:匿名使用者

能加,但是像上面的,執行輸入兩個整數時,也要加逗號

6樓:導一導函式

逗號輸入時可能須要中文格式的逗號才能行

7樓:匿名使用者

可以加,但是最好還是不加吧!!!如果是競賽的話,規則基本上都是不加,

c語言scanf函式格式問題

寒寒家 首先明確 1.對於 d的輸入,會忽略之前的空格 2.對於 c的輸入則不會忽略。3.對於 d的輸入,會被字元截斷,這也就是 輸入 10a20b 的時候,也不會錯的原因了。正確答案是a x1接收了10,y1接收了字元a,之後是一個空格,而輸入的是 d,所以會忽略空格,所以x2接收了20,y2接收...

c語言問題scanf函式是幹啥的

1全部函式名 scanf 功 能 執行格式化輸入 用 法 int scanf char format argument,scanf 函式是通用終端格式化輸入函式,它從標準輸入裝置 鍵盤 讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內格式。其呼叫格式為 scanf 格式化字串 ...

c語言scanf無法輸入值,關於C語言中用scanf函式如何輸入資料的問題

樂跑小子 scanf 是c語言標準庫中的輸入函式,宣告包含在stdio.h檔案中,因此要使用該函式,必須載入 include標頭檔案。當執行到scanf函式時,程式就暫停等待使用者輸入,該函式只接受變數的地址,格式為 變數名。是一個阻塞式的函式,等使用者輸入完畢後,則將值賦值給變數,至此函式呼叫完畢...