考研题中经常会遇到给定一条英文句子,让我们对其每个单词进行操作,不同于对整型数据操作,字符串在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语言:动态输入字符串数组相关推荐

  1. 【C语言】输入字符串数组并排序

    题目:输入n个字符串,并按照一定规则进行升序排序和输出 我的排序规则:按照字符串里面英文字符的值之和 #include<stdio.h> #include<string.h> ...

  2. c语言申请字符串动态,【分享】C语言动态长度字符串

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...

  3. c语言固定长度的字符串,【分享】C语言动态长度字符串

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...

  4. C语言动态宽字符串,【分享】C语言动态长度字符串

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...

  5. c 语言动态增加字符串长度6,【分享】C语言动态长度字符串

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...

  6. c语言分配多一个字符空间,关于C语言动态给字符串分配内存空间问题

    在动态分配的空间中如何输入字符串,关于C语言动态给字符串分配内存空间的问题相信很多朋友都不太了解,下面维维带来相关解答,赶紧看看吧. 用malloc来分配内存空间. 即输入几个字节的字符 系统就自动帮 ...

  7. C语言学习教程之详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include <s ...

  8. c语言中文字符串数组,详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...

  9. c语言中的字符串数组,详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...

最新文章

  1. java中日期的数据类型是啥_用于存储日期和时间的最合适的SQL和Java数据类型
  2. linux文件自动删除,自动删除文件脚本(Linux shell脚本)
  3. ElasticSearch elasticsearch-servicewrapper 在linux上的安装部署全程记录
  4. 深度学习将会变革NLP中的中文分词
  5. margin-top的百分比是相对父元素的哪个值
  6. TCP/IP网络中专有名词注解
  7. 关于Unity的入门游戏飞机大战的开发(上)
  8. 做好MSSQL保卫战之xp_cmdshell
  9. 牛客网_Go语言相关练习_选择题(2)
  10. 什么叫做展望_开学季:有一种爱, 叫做爸妈给你塞的行李箱!(附大学新生行李箱应怎么选?)...
  11. 基于字典的超分辨率实现的各种方法
  12. Python数据分析案例-药店销售数据分析
  13. iOS 几种打包方式
  14. 【总结】计算机网络原理
  15. java写一个android程序_【Android开发笔记】3.编写第一个Android程序
  16. VS 2013的初配置
  17. 小程序 和 web 功能对比_小程序官方推出的Kbone,是如何解决Web 端和小程序同构痛点的?...
  18. 微信是胖客户端瘦服务器,一款管理微信客户软件的系统体系结构设计?
  19. 数字化是指用计算机,数字化
  20. 网络爬虫学习第二弹:requests库的使用

热门文章

  1. OData基础概念详解(Metadata, $select, $filter)
  2. 白底黑字or黑底白字,眼睛更喜欢哪一个?
  3. 专辑一:爱之初体验(中级)
  4. 【Vue全家桶】Vue-Router (详解)
  5. 浅谈Memory barrier
  6. java 非空判断_java基础之----非空判断
  7. YYModel 源码分析:模型设计
  8. 全排列算法—java详细实例
  9. python 不等于None 不等于空_送给你的励志语录:放下不等于放弃,执着不等于坚持...
  10. linux system v服务器,systemd、upstart和system V