3 回答

TA貢獻1775條經驗 獲得超11個贊
兩者完全不同,scanf是輸入函數(shù),printf是輸出函數(shù),所以會經常同時出現(xiàn)。兩者也沒有可比性,需要弄清他們的概念。
1.scanf()是C語言中的一個輸入函數(shù)。函數(shù) scanf() 是從標準輸入流stdio (標準輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字符,并保存在對應地址的變量中。
比如:scanf("%d %d",&a,&b);
函數(shù)返回值為int型。如果a和b都被成功讀入,那么scanf的返回值就是2;
如果只有a被成功讀入,返回值為1;
如果a和b都未被成功讀入,返回值為0;
如果遇到錯誤或遇到end of file,返回值為EOF。end of file為Ctrl+z 或者Ctrl+d。
2.printf()函數(shù)是格式化輸出函數(shù), 它是c語言中產生格式化輸出的函數(shù)(在 stdio.h 中定義)。用于向終端(顯示器、控制臺等)輸出字符。格式控制由要輸出的文字和數(shù)據格式說明組成。
printf 函數(shù)的一般形式為:
int printf(const char *format, [argument]);
Format 參數(shù)是包含三種對象類型的一個字符串:
(1)無格式字符復制到輸出流;
(2)轉換規(guī)范,每個規(guī)范導致在值參數(shù)列表中檢索 1 個或更多個項;
(3)轉義序列。
[Argument]包含需要輸出的數(shù)據,可以是常量(字符常量、數(shù)字常量、字符串常量),變量,以及運算式。此處的數(shù)據應當與前面的format中的格式控制符一一對應(如果不對應會產生錯誤)。
例子:
#include<stdio.h>
int main(){
int i, j;
scanf("%d %d", &i, &j); //獲得輸入值i,j;
printf("i=%d;j=%d", i, j); //輸出i,j;
return 0;}
擴展資料:
在C語言或C++中,會把用來#include的文件的擴展名叫 .h,稱其為頭文件。 #include文件的目的就是把多個編譯單元(也就是c或者cpp文件)公用的內容,單獨放在一個文件里減少整體代碼尺寸;或者提供跨工程公共代碼。
stdio 就是指 “standard input & output"(標準輸入輸出)。
在C語言中,輸入和輸出是經由標準庫中的一組函數(shù)來實現(xiàn)的。在ANSI C中,這些函數(shù)被定義在頭文件<stdio.h>中。所以,源代碼中如用到標準輸入輸出函數(shù)時,就要包含這個頭文件.
引用方法:#include <stdio.h>;
有三個標準輸入/輸出是標準I/O庫預先定義的:
stdin標準輸入;
stdout標準輸出;
stderr輸入輸出錯誤。

TA貢獻1872條經驗 獲得超4個贊
在使用scanf和printf函數(shù)時要加上#include <stdio.h>。其中scanf()是格式輸入函數(shù),printf()函數(shù)是格式化輸出函數(shù)。
其通常的用法如下:
12345678 | #include<stdio.h> int main() { int i, j; scanf ( "%d, %d" , &i, &j); //從鍵盤輸入i,j printf ( "i=%d;j=%d" , i, j); //輸出i,j; return 0; } |
添加回答
舉報