众所周知,在C语言中并没有自带的字符串型的数组这对我们解决一些问题时有些不便,那么我们有没有什么方法来解决这个问题呢?我想到了使用结构体来解决。

简单介绍结构体:

1.

int main(){
   struct 结构体名称{
       变量类型 变量名;
   }; 
}

2.

struct 结构体名称{
       变量类型 变量名;
   }; 
int main(){
   
}

如上,结构体的声明可以在主函数内,也可在外面,我们也可以用struct 原函数名 新函数名来方便使用

那么我们如何使用结构体来达到和字符串数组一样的效果呢?

#include<stdio.h>
#include<stdlib.h>
#define N 99
struct string{
    char st[N];
};
int main(){
    struct string str[需要的数量];
}

这就是我想到的解决方法,下面是一个测试程序

#include<stdio.h>
#include<stdlib.h>
#define N 99
struct string{
    char st[N];
};
int main(){
    puts("How much?");
    int i,n;
    scanf("%d",&n);
    struct string str[n];
    for(i=0;i<n;i++){
        printf("%d\n",i+1);
        scanf("%s",&str[i].st);
    }
    puts("Ready\n");
    getch();
    for(i=0;i<n;i++){
        printf("%d\n",i+1);
        printf("%s\n",str[i].st);
    }
}

Thanks for watching

希望有帮到你哦₍ᐢ •͈ ༝ •͈ ᐢ₎♡

点赞(0)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

田博文 9月前 回复TA
¨̮ ᴴᴬᵛᴱ ᴬ ᴳᴼᴼᴰ ᵀᴵᴹᴱ