C语言中scanf与指针数组的使用技巧
导读:在C语言中,scanf函数用于从标准输入(通常是键盘)读取数据 使用指针数组存储字符串: #include<stdio.h> int main( { char *names[3]; // 定义一个指针数组,用于存...
在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
读取字符串。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C语言中scanf与指针数组的使用技巧
本文地址: https://pptw.com/jishu/698450.html