原来字符串还可以这样录入
目录
一脸懵的报错
臭虫在哪儿?
字符串录入
结语
一脸懵的报错
在前几天刷题的时候,遇到了录入字符串,兴冲冲的一顿写,主函数如下:
int main()
{char arr[10000];scanf("%s",arr);int str = strlen(arr)-1;reverse_str(arr,str);printf("%s\n", arr);return 0;
}
运行结果如下:
为什么会这样???我不是输入了一堆吗?为什么只输出了一个?
臭虫在哪儿?
让我们来看看到底是什么问题
我们发现只录入了一个值,后面的都没录入进去。
字符串录入
这和scanf的录入有关系
scanf是C语言的标准输入流,可以录入数字、字符、字符串,遇到空格或者回车就停止录入
那么传统的方式录入不了怎么办呢?两种方法
1.新知识
int main()
{char arr[50];scanf("%[^\n]", arr);printf("%s", arr);
}
scanf("%[^\n]",arr),这句代码的意思就是遇到\n(回车)停止录入,[]内的内容可以更改
例如:[^s],意思就是遇到s就停止录入
[^abc],意思就是遇到abc中的任意一个字符,就停止录入
2.get() 函数录入
int main()
{char arr[50];gets(arr);printf("%s", arr);
}
gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。
结语
写代码遇到报错不要慌,我们慢慢找bug,每次找bug其实都是梳理思路,提升自我的时候(你已经是一个成年人了,自己的bug自己改,嘿嘿),下篇文章将会为大家讲解,如何找bug,大家拭目以待吧~
本题链接如下,有兴趣的同学可以去做一下,题目不难哦。
牛客网oj链接(字符串逆序)
原来字符串还可以这样录入相关推荐
- 字符串还可以这样初始化--uboot篇
- JAVA关于字符串字符数组处理的小题目
JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...
- AJPFX实列判断一个字符串是不是对称字符串
import java.util.Scanner; /** 判断一个字符串是否是对称字符串 */ public class StringDemo { public static void main(S ...
- C语言 字符串和字符串数组动态分配及赋值
1.字符串指针一定要开辟空间后在做输入 char * str; str=(char*)malloc(100*sizeof(char)); scanf("%s",&str); ...
- C++ cin不支持录入空格
如果在C++中,用cin>>str;这种方法来接收字符串那么录入的str不能包含空格,否则它会按照空格将整个字符串切分成若干段.如果你要是想输入带空格的字符串那就要用到getline()这 ...
- 第八天 (API,字符串,string,stringbuilder,stringjoiner)
目录 API 字符串 String概述 总结 创建string对象的两种方式 Java的常用方法 遍历字符串 字符串反转 数字屏蔽 敏感词替换 String Builder概述 Stringbuild ...
- Java-黑马Java学习练习-day10字符串
学习视频链接:https://www.bilibili.com/video/BV17F411T7Ao 文章目录 练习1. 用户登录 练习2. 遍历字符串 练习3. 统计字符串次数 练习4. 字符串拼接 ...
- 字符串练习2-遍历字符串
import java.util.Scanner;//遍历字符串 /* * 键盘录入一个字符串,使用程序实现在控制台遍历字符串*/ public class StringDemo2 {public s ...
- Java——网络编程练习
练习一(黑马程序员面试题):客户端向服务器写字符串(键盘录入),服务器(多线程)将字符串反转后写回,客户端再次读取到的是反转后的字符串 相关代码如下: package com.wsq.test;imp ...
- 1054. 求平均值
本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位.当 ...
最新文章
- 欧几里得算法与唯一分解定理
- 类的赋值运算符的重载函数
- Visual Basic 永远29岁,Visual Basic 谢幕!
- 如何将.py文件转换为.exe
- Boost:测试bind <void>
- 线性渐变(linear-gradient)
- 利用ES6里标准化的JavaScript proxy对象拦截SAP C4C页面的HTML div原生操作
- 假如,绿茶婊的目标变成女生......
- Mysql中SQL语句不使用索引的情况
- 时尚达人必备的潮流壁纸桌面!
- Docker终失C位,开源少年缘何黑化
- 鸿蒙大陆7.1正式版隐藏英雄,守塔V7.01下载 守塔V7.01正式版 附游戏攻略及隐藏英雄密码 魔兽防守地图 下载-脚本之家...
- win10计算机变成了英文,win10变成英文【处理方法】
- 谐波分析matlab仿真,教程:利用GUI对Simulink模型进行谐波分析
- 说话人识别ALIZE工具包的编译
- 常用的RS485芯片简介
- 从5点来分析搜索引擎算法
- 深度linux deepin 内存,【转载】深度Deepin国产操作系统使用体验报告!
- java基于ssm的网上图书商城
- 硬盘备份到新电脑,你需要知道这个技巧
热门文章
- C++中 string, string.h, cstring, CString的区别
- vue的一些页面优化建议
- Android 进阶—— Framework 核心之 Low Memory Killer机制和进程优先级小结
- GE新增中文本地搜索
- 智能家庭系统micropython实现2
- Python循环之俄罗斯轮盘赌算法精解!
- Linux系统管理命令------w
- MinGW-w64——C/C++编译器安装(仅供学生参考)
- 对比传统收银系统 新版收银软件有哪些优势?
- 计算机毕业设计ssm校园二手物品交易网站n131p系统+程序+源码+lw+远程部署