在C語言中,可以使用scanf函數(shù)來獲取用戶輸入的數(shù)據(jù)。scanf函數(shù)的原型如下:
int scanf(const char *format, …);
scanf函數(shù)的第一個參數(shù)是格式化字符串,用于指定要讀取的數(shù)據(jù)類型及其格式。接下來的參數(shù)是要讀取的數(shù)據(jù)的變量。
例如,要讀取一個整數(shù),可以使用以下代碼:
int num;
scanf("%d", &num);
這里,"%d"是格式化字符串,用于指定要讀取一個整數(shù)。&num表示要將讀取的整數(shù)存儲到變量num中。
類似地,可以使用其他格式化字符串來讀取不同類型的數(shù)據(jù),例如:
float num1;
double num2;
char ch;
scanf("%f", &num1);
scanf("%lf", &num2);
scanf(" %c", &ch); // 注意%c前面的空格,用于清除緩沖區(qū)中的換行符
在實(shí)際使用中,可以根據(jù)需要使用多個scanf函數(shù)來讀取多個數(shù)據(jù)。需要注意的是,scanf函數(shù)返回成功讀取的數(shù)據(jù)項(xiàng)數(shù),可以用于檢查讀取是否成功。
另外,scanf函數(shù)默認(rèn)會從標(biāo)準(zhǔn)輸入(鍵盤)讀取數(shù)據(jù),也可以從文件中讀取數(shù)據(jù),只需將文件指針作為輸入流傳遞給scanf函數(shù)即可。例如:
FILE *fp;
int num;
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("文件打開失敗\n");
return 1;
}
fscanf(fp, "%d", &num);
fclose(fp);
這里,fopen函數(shù)用于打開名為"data.txt"的文件,并將文件指針賦給變量fp。然后可以使用fscanf函數(shù)從文件中讀取數(shù)據(jù),讀取成功后關(guān)閉文件。