c语言:动态输入字符串数组

article/2025/8/27 15:56:07

考研题中经常会遇到给定一条英文句子,让我们对其每个单词进行操作,不同于对整型数据操作,字符串在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语言编译器的设计者早都意识到输入字符串数组不好分隔,所以帮我们提前定义好了可以以空格或回车分隔每个数组元素,这一点除了想要在字符串中加入空格需要自己手动添加以外,确实方便了不少。

编译结果如下:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ONLwCuBL.shtml

相关文章

用scanf_s输入字符串

用的是vs2019。 为了安全&#xff0c;scanf_s输入字符串时需要加一个数字来限制最多读取的字符数。 错误示例&#xff1a; char* str[100]; scanf_s("%s",str);这样写编译器没有报错&#xff0c;但是运行会出错&#xff0c;debug显示 正确写法&#xff1a; char…

写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。 解题思路&#xff1a; 字符串以\0作为结尾&#xff0c;则从第一个字符开始向后移动遇到\0认为字符串结束。 答案&#xff1a; #include <stdio.h> int mystrlen(char *str) {int len 0;char *pt…

C++输入字符串的几种方式

最近有复习到 C 基础知识&#xff0c;这里总结下在 C 中输入字符串的几种方式&#xff0c;有需要的可以参考&#xff1a; 1、cin >> <1> 输入一个数字 void Cin1() {int a, b;cin >> a >> b;cout << "a b " << a b <&l…

c语言如何用循环输入字符串,C语言使用scanf连续输入字符串出现的问题

#include int main() { char a,b; scanf("%c",&a)&#xff1b; scanf("%c",&b); printf("%c,%c",a,b); } 一段看上去很简单的代码&#xff0c;即使是C语言初学者也能看懂。 可是在运行的时候却出现了问题&#xff1a; ①输入a后按下回车…

c语言用scanf输入指针字符串,c语言如何用scanf输入字符串

在C语言中&#xff0c;可以使用“scanf(“格式控制字符串”,变量内存地址)”语句输入字符串。scanf()函数的第一个参数是格式字符串&#xff0c;它指定了输入的格式&#xff0c;并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。 本教程操作环…

C++中输入字符串的几种方法

C中输入字符串的几种方法 C的字符串输入方式有 1.cin>> 2.cin.get() 3.cin.getline() 4.getline() 5.gets()cin 第一种用法是逐个输入数字或者字符&#xff0c;中间用空格隔开。 第二种用法是读入一个字符串&#xff0c;遇到“空格”“TAB”“回车” 都会结束。例如&a…

C语言输入字符串

文章目录 1.scanf2.gets 1.scanf 输入字符串使用 %s。不能读取空格&#xff0c;遇到空格自动结束。例如&#xff0c;输入abcde&#xff0c;得到abcde&#xff1b;而输入abc de&#xff0c;只能得到abc。输入格式&#xff1a;scanf("%s",str)。其中str表示 地址值。 …

【C语言】字符串输入的三种方式

一、gets() 该函数原型为&#xff1a; # include <stdio.h> char *gets(char *str);gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间 # include <stdio.h> int main(void) {char a[256] {0};gets(a);printf("%s…

字符串输入的2种常用方法详解

字符串输入的2种常用方法详解 一.scanf函数1.扫描集2.逆向使用扫描集 二.gets函数 一.scanf函数 int main() {char arr[50] { 0 };scanf("%s", arr);printf("%s", arr);return 0; }这种方法可以输入字符串&#xff0c;但是只能输入一个词&#xff0c;遇到…

字符串的输入

字符串数据作为经常需要使用的数据&#xff0c;我们需要掌握它的输入&#xff0c;下面总结了不同的输入字符串的方式 c和c的有一点点不同 ①逐个逐个字符输入 我们可以设置一个数组&#xff0c;或者数组加指针的形式&#xff0c; 通过for循环或while循环的方式&#xff0c;…

C++字符串的几种输入方法(string和字符数组)

ps:本文大部分内容参考于这篇博客&#xff0c;在这里加入了自己对这些函数在字符数组和string变量的理解和总结。 C中的输入大致有6种方法&#xff1a;cin&#xff0c;cin.get(),cin.getline(),gets(),getchar() 1,cin 用法一&#xff1a;最常用的方法&#xff0c;接收一个字…

制作黑苹果安装U盘(Clover+OC+PE)三引导

制作黑苹果安装U盘&#xff08;OCCloverPE&#xff09;三引导 1.删除U盘分区表2.写入dmg到U盘3.替换EFI(Clover引导)4.扩建U盘分区表5.转换U盘分区类型 效果如图所示&#xff0c;嫌麻烦可以关注 黑果小兵的部落阁微信公众号&#xff0c;在“安装镜像”里找"10.15.6 19G73…

MINIS FORUM U820 黑苹果引导OC或CLOVER更新教程

准备工具&#xff1a;1.OC Auxiliary Tools&#xff08;简称OCAT)&#xff0c;OC Auxiliary Tools for Mac-OC Auxiliary Tools Mac版下载 V0.6.9-PC6苹果网 即新OC引导的编辑器&#xff0c;须与OC引导版本相对应&#xff0c;否则容易出错&#xff1b;2.Clover ConfiGurator&a…

黑苹果引导介绍篇

引导篇 1、EFI分区&#xff1a;全称是EFI System Partition(ESP)&#xff0c;是一个使用FAT16或FAT32的系统引导物理分区&#xff0c;支持EFI模式的电脑需要从ESP分区启动系统&#xff0c;EFI固件可从ESP加载EFI启动程序或者应用。目前主流的Clover安装的黑苹果&#xff0c;普…

WINDOWS系统下四叶草CLOVER引导U盘制作

1、进入WINDOWS系统&#xff0c;下载Boot Disk Utility ,解压并打开它。插入U盘&#xff1b; 2、点击Options设置&#xff0c;根据图选或者默认&#xff0c;点击OK&#xff1b; 制作不成功的请参照下面纠正&#xff1a;&#xff08;需要点开U盘的&#xff0b;下面的U盘&#x…

MacOS+Win10 双系统引导程序 Clover 的修复

首先&#xff0c;请做好以下准备工作&#xff1a; 1&#xff09;特定型号笔记本的EFI引导文件 2&#xff09;WinPE启动盘一枚 3&#xff09;DiskGenius 打开DiskGenius&#xff0c;我们可以看到磁盘列表 第一个磁盘&#xff0c;即ESP&#xff0c;是系统的引导盘。 开机之后&…

四叶草Clover引导界面的快捷键大全

四叶草Clover引导界面的快捷键&#xff0c;比如截屏之类的。 Clover 快捷键 Esc 退出子菜单或刷新主菜单 F1 显示帮助信息 F2 *保存preboot.log日志文件到/EFI/misc F4 *保存原始DSDT到/EFI/ACPI/origin F5 *保存初步修复的DSDT到/EFI/ACPI/origin F6 *保存显卡Bios文件到/EF…

折腾黑苹果 - 制作四叶草CLOVER引导U盘

最近开始瞎折腾黑苹果&#xff0c;几天下来发现其实安装本身不算难&#xff0c;但完善驱动真的很需要耐心。驱动的完善跟硬件本身有很大关系&#xff0c;如果你的同款硬件恰好被苹果的某款机型用过&#xff0c;很有可能装完系统后就直接被正确识别了&#xff0c;也就是所谓的“…

黑苹果制作Clover开机引导脱离U盘,小新Pro13详细教程

前言 小新Pro13在成功安装好黑苹果之后&#xff0c;心情是否很激动&#xff1f;但是想到每次开机都要插入U盘&#xff0c;总不能一直这样吧&#xff0c;放心&#xff01;这些问题大神&#xff08;不是指我&#xff09;都已经考虑好了&#xff0c;目前主要有Clover和OC这两种方…

通过CLOVER 引导Windows与Linux双系统

通过CLOVER 引导Windows与Linux双系统 什么是CLOVER为什么是 CLOVER 引导&#xff1f;正式操作1、准备工具2、配置 CLOVER 文件搜索 GUI 关键字&#xff0c;Entries区域为引导文件的相关信息搜索关键词&#xff1a;Boot搜索关键词&#xff1a;Scan&#xff0c;配置扫描哪些引导…