小白见解,有问题请批评指正

1.字符串数组的定义

char *str[] = { };
每个元素都是指针,指向存储空间中的某个字符串
取其中的值的时候直接用str[i]来取
//上面的内容使用注释的话就看不清字了

2.输入的思路

  • 定义字符串数组长度(这个没办法完全动态)
  • 定义一个用于输入的随机字符串,并malloc申请空间,空间的长度也需要人为定义(没办法动态)
  • 循环输入
  • 设定:输入为回车的时候自动跳出

3.重点

  • 对scanf()函数输入回车,它会直接停止读入,并且丢掉这个回车,使得下一步判断都不能继续,
    所以改用get()

  • 字符串的写入,我个人认为先写进一个临时字符串,再用strcpy()拷贝更稳妥

3.代码实现

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main(int argc, char const* argv[])
{char* strArr[100]; //多少个元素char* tempstr;tempstr = (char*)malloc(100 * sizeof(char));//每个元素的字符串长度(包括'\0')int count = 0;for (int i = 0; i < 100; i++, count++){strArr[i] = (char*)malloc(100 * sizeof(char));//与tempstr申请相同的空间长度//scanf("%s", tempstr);gets(tempstr);//如果用scanf,下面的strlen是输出不出来的,不知道为什么if (strlen(tempstr) == 0){free(strArr[i]);//因为没有进行下面的拷贝,申请的这一小块空间也要freebreak;}strcpy(strArr[i], tempstr);//printf("%d\n", strlen(strArr[i]));//printf("%s\n", strArr[i]);}free(tempstr);for (int i = 0; i < count; i++){printf("%s\n", strArr[i]);}return 0;
}

C语言 字符串数组 的输入 总结相关推荐

  1. 【C语言】字符串和字符串数组的输入和陷阱

    浅谈:C语言写程序时,因为没有字符串数据类型,所以字符串和字符串数组的输入也是一个难题和陷阱,这里讨论一下几种字符串输入情况. 字符串输入函数: 1.格式输入函数:int scanf("%s ...

  2. c语言字符串字典序,字符串排序数组C语言 C语言 字符串数组字典排序

    C语言 字符串数组字典排序 #include #include int main() { int j,k,i,t,n; char s[10][10],b[10][10]; for(i=0;i c语言, ...

  3. 关于C语言字符串数组

    *关于C语言字符串数组* 此处我为大家解决一个十分容易混淆的点.此处问题在22备考过程中问的比较多.最可气的是21.22考研场上都考到了.此处为23及以后考生做出详细解释. 首先我们来看2000年的真 ...

  4. c语言中数组部分输入赋值,c语言scanf对数组赋值

    c语言动态数组赋值,,c语言结构体数组赋值,c语言scanf对数组赋值 c语言数组动态赋值,<手把手教你学51单片机-C语言>之六 中断与数码管动态显示,c语言结构体数组赋值,c语言sca ...

  5. c语言 字符串数组 初始化,C 字符串数组初始化问题

    1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是 ...

  6. C语言字符数组的输入和输出

    字符数组的输入输出有两种方法: (1)逐个字符输入输出.用格式符"%c"输入或输出一个字符.例如 int main() {char c[6]; //定义一个字符串for (int ...

  7. Java中字符串数组的输入与输出

    今天刷题遇到一个坑,老是接收不到字符串数组.即用str[i]=sc.nextLine();这样的方式去接收数组的话,打印的时候总是会少一个. import java.util.Scanner;publ ...

  8. C语言字符串数组的例题

    1 (1)从键盘上接收一个字符串,保存到一个字符数组中. (2)然后从后面往前倒序输出这个字符串.例如:接收字符串为:"Jone",则输出结果为"enoJ". ...

  9. c语言字符串数组数组名与指针

    一.概念理解 1.C语言中没有字符串类型,用一片内存空间保存一串字符,这片空间称作字符数组. 2.以'\0'结尾的字符数组被称为字符串数组.'\0'是字符串结束的标志. 3.用双引号括起来的都是字符串 ...

最新文章

  1. 自然语言处理基本概念
  2. 小学生python-如何看待小学生开始学Python?
  3. nagios使用check_mysql监控mysql
  4. 【转】系统管理类DOS命令汇总
  5. 8. An Introduction to MCMC for Machine Learning (4)
  6. VMWare共享文件
  7. 地理防灾减灾思维导图_17张思维导图,让你轻松学好高中地理必修一
  8. python面向对象编程138讲_Python面向对象编程简单讲解
  9. Bash漏洞引发僵尸网络狂欢
  10. [C++面试题]之冒泡排序
  11. 第五章 基于引用计数的内存管理
  12. 一个简单的微信小程序支付demo
  13. excel中多条件求和_在Excel中求和的7种方法
  14. Flink二:IngestionTime与ProcessingTime
  15. Vivado 信号混频设计
  16. 计算机网络概述(上)
  17. AlexNet(Pytorch实现)
  18. 家族关系查询系统(2021-9-22更新)
  19. 制度是绝情的,管理是无情的,执行是合情的
  20. 关于MySQL中的mysqldump饬令的应用

热门文章

  1. 【机器学习】梯度下降算法原理和实现
  2. 算法工程师的生存危机,我们怎么破?
  3. HP服务器上Oracle融合中间件表现优越
  4. 苹果发布新的 Swift Server 框架:Swift Cluster Membership,这次的目标是集群
  5. matlab——imadjust函数
  6. PyFlink使用说明:建表及连接Mysql数据库
  7. 中考大数据大连79_中考大数据 | 大连各初中2017中考成绩统计②(理附两校区、海附)...
  8. 版图学习002-工具2
  9. 安全技术系列之反弹Shell
  10. StringIO 的使用, 存在的意义