scanf和scanf_s函數(shù)是C語言中輸入函數(shù),用于從標準輸入設(shè)備(鍵盤)讀取數(shù)據(jù)。
scanf函數(shù)的使用方法:
包含頭文件:#include <stdio.h>
格式:int scanf(const char *format, ...)
參數(shù):
format: 格式字符串,指定了輸入數(shù)據(jù)的類型和格式。
…: 要讀取的變量列表。
返回值:成功讀取的參數(shù)個數(shù)。如果返回值小于參數(shù)個數(shù),則表示讀取失敗。
示例:
#include <stdio.h>
int main() {
int num1, num2;
printf("請輸入兩個整數(shù):");
scanf("%d %d", &num1, &num2);
printf("輸入的兩個整數(shù)是:%d 和 %d\n", num1, num2);
return 0;
}
scanf_s函數(shù)的使用方法:
包含頭文件:#include <stdio.h>
格式:int scanf_s(const char *format, ...)
參數(shù):
format: 格式字符串,指定了輸入數(shù)據(jù)的類型和格式。
…: 要讀取的變量列表。
返回值:成功讀取的參數(shù)個數(shù)。如果返回值小于參數(shù)個數(shù),則表示讀取失敗。
示例:
#define _CRT_SECURE_NO_WARNINGS // 忽略scanf_s的警告
#include <stdio.h>
int main() {
int num1, num2;
printf("請輸入兩個整數(shù):");
scanf_s("%d %d", &num1, &num2);
printf("輸入的兩個整數(shù)是:%d 和 %d\n", num1, num2);
return 0;
}
需要注意的是,scanf_s函數(shù)在讀取字符串時,需要指定字符串的最大長度,以避免緩沖區(qū)溢出。例如:
char str[20];
scanf_s("%19s", str, sizeof(str));
上述代碼中,%19s
指定了最大長度為19的字符串。