c语言:动态输入字符串数组
考研题中经常会遇到给定一条英文句子,让我们对其每个单词进行操作,不同于对整型数据操作,字符串在c语言中必须存放到数组中,无形之中又给考题增加了难度
一般情况下,字符串数组都以二维数组或指针数组定义,而二维数组不能初始化为空,所以本文动态定义以指针数组为例,代码如下
#include<stdio.h>
#include<stdlib.h> //字符串数组默认可以用空格隔开!!!!
#include<string.h>
#include<malloc.h>
void main()
{char *a[5]; //这里的5并不是每个元素的长度,而是数组长度!!!int i,n;printf("请输入每个字符串最大长度:");scanf("%d",&n);printf("请输入字符串(以空格或回车隔开):");for(i=0;i<5;i++){a[i]=(char *)malloc(sizeof(char)*n); //给每一个指针对应的字符串数组赋空间,我一开始思考过直接给所有字符串一起赋空间,发现没有办法分隔scanf("%s",a[i]); //a[i]本来就是一个地址,不用再取地址}printf("倒序结果输出如下:");for(int j=4;j>=0;j--) //倒序输出{printf("%s ",a[j]);}
}
显然,c语言编译器的设计者早都意识到输入字符串数组不好分隔,所以帮我们提前定义好了可以以空格或回车分隔每个数组元素,这一点除了想要在字符串中加入空格需要自己手动添加以外,确实方便了不少。
编译结果如下:
c语言:动态输入字符串数组相关推荐
- 【C语言】输入字符串数组并排序
题目:输入n个字符串,并按照一定规则进行升序排序和输出 我的排序规则:按照字符串里面英文字符的值之和 #include<stdio.h> #include<string.h> ...
- c语言申请字符串动态,【分享】C语言动态长度字符串
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...
- c语言固定长度的字符串,【分享】C语言动态长度字符串
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...
- C语言动态宽字符串,【分享】C语言动态长度字符串
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...
- c 语言动态增加字符串长度6,【分享】C语言动态长度字符串
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...
- c语言分配多一个字符空间,关于C语言动态给字符串分配内存空间问题
在动态分配的空间中如何输入字符串,关于C语言动态给字符串分配内存空间的问题相信很多朋友都不太了解,下面维维带来相关解答,赶紧看看吧. 用malloc来分配内存空间. 即输入几个字节的字符 系统就自动帮 ...
- C语言学习教程之详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include <s ...
- c语言中文字符串数组,详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...
- c语言中的字符串数组,详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...
最新文章
- java中日期的数据类型是啥_用于存储日期和时间的最合适的SQL和Java数据类型
- linux文件自动删除,自动删除文件脚本(Linux shell脚本)
- ElasticSearch elasticsearch-servicewrapper 在linux上的安装部署全程记录
- 深度学习将会变革NLP中的中文分词
- margin-top的百分比是相对父元素的哪个值
- TCP/IP网络中专有名词注解
- 关于Unity的入门游戏飞机大战的开发(上)
- 做好MSSQL保卫战之xp_cmdshell
- 牛客网_Go语言相关练习_选择题(2)
- 什么叫做展望_开学季:有一种爱, 叫做爸妈给你塞的行李箱!(附大学新生行李箱应怎么选?)...
- 基于字典的超分辨率实现的各种方法
- Python数据分析案例-药店销售数据分析
- iOS 几种打包方式
- 【总结】计算机网络原理
- java写一个android程序_【Android开发笔记】3.编写第一个Android程序
- VS 2013的初配置
- 小程序 和 web 功能对比_小程序官方推出的Kbone,是如何解决Web 端和小程序同构痛点的?...
- 微信是胖客户端瘦服务器,一款管理微信客户软件的系统体系结构设计?
- 数字化是指用计算机,数字化
- 网络爬虫学习第二弹:requests库的使用
热门文章
- OData基础概念详解(Metadata, $select, $filter)
- 白底黑字or黑底白字,眼睛更喜欢哪一个?
- 专辑一:爱之初体验(中级)
- 【Vue全家桶】Vue-Router (详解)
- 浅谈Memory barrier
- java 非空判断_java基础之----非空判断
- YYModel 源码分析:模型设计
- 全排列算法—java详细实例
- python 不等于None 不等于空_送给你的励志语录:放下不等于放弃,执着不等于坚持...
- linux system v服务器,systemd、upstart和system V