C语言 字符串数组 的输入 总结
小白见解,有问题请批评指正
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语言 字符串数组 的输入 总结相关推荐
- 【C语言】字符串和字符串数组的输入和陷阱
浅谈:C语言写程序时,因为没有字符串数据类型,所以字符串和字符串数组的输入也是一个难题和陷阱,这里讨论一下几种字符串输入情况. 字符串输入函数: 1.格式输入函数:int scanf("%s ...
- 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语言, ...
- 关于C语言字符串数组
*关于C语言字符串数组* 此处我为大家解决一个十分容易混淆的点.此处问题在22备考过程中问的比较多.最可气的是21.22考研场上都考到了.此处为23及以后考生做出详细解释. 首先我们来看2000年的真 ...
- c语言中数组部分输入赋值,c语言scanf对数组赋值
c语言动态数组赋值,,c语言结构体数组赋值,c语言scanf对数组赋值 c语言数组动态赋值,<手把手教你学51单片机-C语言>之六 中断与数码管动态显示,c语言结构体数组赋值,c语言sca ...
- c语言 字符串数组 初始化,C 字符串数组初始化问题
1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是 ...
- C语言字符数组的输入和输出
字符数组的输入输出有两种方法: (1)逐个字符输入输出.用格式符"%c"输入或输出一个字符.例如 int main() {char c[6]; //定义一个字符串for (int ...
- Java中字符串数组的输入与输出
今天刷题遇到一个坑,老是接收不到字符串数组.即用str[i]=sc.nextLine();这样的方式去接收数组的话,打印的时候总是会少一个. import java.util.Scanner;publ ...
- C语言字符串数组的例题
1 (1)从键盘上接收一个字符串,保存到一个字符数组中. (2)然后从后面往前倒序输出这个字符串.例如:接收字符串为:"Jone",则输出结果为"enoJ". ...
- c语言字符串数组数组名与指针
一.概念理解 1.C语言中没有字符串类型,用一片内存空间保存一串字符,这片空间称作字符数组. 2.以'\0'结尾的字符数组被称为字符串数组.'\0'是字符串结束的标志. 3.用双引号括起来的都是字符串 ...
最新文章
- 自然语言处理基本概念
- 小学生python-如何看待小学生开始学Python?
- nagios使用check_mysql监控mysql
- 【转】系统管理类DOS命令汇总
- 8. An Introduction to MCMC for Machine Learning (4)
- VMWare共享文件
- 地理防灾减灾思维导图_17张思维导图,让你轻松学好高中地理必修一
- python面向对象编程138讲_Python面向对象编程简单讲解
- Bash漏洞引发僵尸网络狂欢
- [C++面试题]之冒泡排序
- 第五章 基于引用计数的内存管理
- 一个简单的微信小程序支付demo
- excel中多条件求和_在Excel中求和的7种方法
- Flink二:IngestionTime与ProcessingTime
- Vivado 信号混频设计
- 计算机网络概述(上)
- AlexNet(Pytorch实现)
- 家族关系查询系统(2021-9-22更新)
- 制度是绝情的,管理是无情的,执行是合情的
- 关于MySQL中的mysqldump饬令的应用