有輸入語句:int a,b,c; scanf("a=%d,b=%d,c=%d", &a, &b, &c);
1、scanf()中的變量必須使用地址。 所以會 &a, &b, &c (&a是傳遞變量a的地址到scanf函數)
2、%d 中scanf函數的輸入格式 意思是要求輸入一個整數,并將讀入的數據解釋成一個整數。
3、scanf函數中“”中的數據,除去格式(帶%的部分)外,是輸入者必須輸入的部分,這部分程序不解釋成數據,忽略之,但是不輸入就會導致程序錯誤的解釋(看來程序挺傻的),如:a=%d,輸入時就必須寫a=1,程序才會將1存入到a
所以:答案為:D
C語言本身有輸入和輸出語句
C語言本身并不提供輸入輸出語句,輸入和輸出操作是由函數來實現的。
在C標準函數庫中提供了一些輸入輸出函數,例如,printf函數和scanf函數。在使用他們時,千萬不要誤認為他們是C語言提供的“輸入輸出語句”。
printf和scanf不是C語言的關鍵字,而只是函數的名字。C提供的函數以庫的形式存放在系統中,它們不是C語言文本中的組成部分。
不把輸入輸出作為C語言提供的語句的目的是使C語言編譯系統簡單,因為將語句翻譯成二進制的指令是在編譯階段完成的,沒有輸入輸出語句可以避免在編譯階段處理與硬件有關的問題,可以使編譯系統簡化,而且通用性強,可移植性好,對各種型號的計算機都適用,便于在各種計算機上實現。各種版本的C語言函數庫是各計算機廠商針對某一類型計算機的情況編寫的,并且已編譯成目標文件(.obj文件)。
它們在連接階段與源程序經編譯而得到的目標文件相連接,生成一個可執行的目標程序。如果在源程序中有printf函數,在編譯時并不把它翻譯成目標指令,而是在執行階段調用已被連接的函數庫中的printf函數。
c語言中有那些輸出輸入語句
putchar(輸出字符)getchar(輸入字符)printf(格式輸出)scanf(格式輸入)puts(輸出字符串)gets(輸入字符串)
%d按十進制整形數據的實際長度輸出
%md。m為指定的輸出字段的寬度。如果位數小于m,則左邊補以空格,大于m,則實際輸出。例:printf("%4d,%4d,a,b");當a=123b=12345則輸出空123,12345
%ld是輸出長整形數據
o是格式符。以8進制輸出
x是格式符。以16進制輸出
u是格式符,用來輸出無符號數,10進制輸出