首页主机资讯C语言中scanf与指针数组的使用技巧

C语言中scanf与指针数组的使用技巧

时间2024-09-10 20:36:03发布访客分类主机资讯浏览677
导读:在C语言中,scanf函数用于从标准输入(通常是键盘)读取数据 使用指针数组存储字符串: #include<stdio.h> int main( { char *names[3]; // 定义一个指针数组,用于存...

在C语言中,scanf函数用于从标准输入(通常是键盘)读取数据

  1. 使用指针数组存储字符串:
#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;

}
    
  1. 使用指针数组存储整数:
#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;

}
    
  1. 使用指针数组存储浮点数:
#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
在C语言中如何用scanf实现数组的动态分配 C语言中scanf读取数组后如何进行排序

游客 回复需填写必要信息