在C語言中,scanf
函數用于從標準輸入(通常是鍵盤)讀取數據
#include<stdio.h>
int main() {
char *names[3]; // 定義一個指針數組,用于存儲字符串
for (int i = 0; i < 3; i++) {
names[i] = malloc(100); // 為每個指針分配內存空間
printf("請輸入第%d個名字:", i + 1);
scanf("%s", names[i]); // 使用scanf讀取字符串
}
// 打印輸入的名字
for (int i = 0; i < 3; i++) {
printf("第%d個名字是:%s\n", i + 1, names[i]);
}
// 釋放內存
for (int i = 0; i < 3; i++) {
free(names[i]);
}
return 0;
}
#include<stdio.h>
int main() {
int n, *numbers;
printf("請輸入整數的個數:");
scanf("%d", &n);
numbers = (int *)malloc(n * sizeof(int)); // 為整數分配內存空間
for (int i = 0; i < n; i++) {
printf("請輸入第%d個整數:", i + 1);
scanf("%d", &numbers[i]); // 使用scanf讀取整數
}
// 打印輸入的整數
for (int i = 0; i < n; i++) {
printf("第%d個整數是:%d\n", i + 1, numbers[i]);
}
// 釋放內存
free(numbers);
return 0;
}
#include<stdio.h>
int main() {
float *scores;
int n;
printf("請輸入成績的個數:");
scanf("%d", &n);
scores = (float *)malloc(n * sizeof(float)); // 為浮點數分配內存空間
for (int i = 0; i < n; i++) {
printf("請輸入第%d個成績:", i + 1);
scanf("%f", &scores[i]); // 使用scanf讀取浮點數
}
// 打印輸入的成績
for (int i = 0; i < n; i++) {
printf("第%d個成績是:%.2f\n", i + 1, scores[i]);
}
// 釋放內存
free(scores);
return 0;
}
注意:在使用scanf
讀取字符串時,需要確保輸入的字符串長度不超過分配的內存空間。在實際編程中,為了避免緩沖區溢出,可以使用fgets
函數代替scanf
讀取字符串。