C语言scanf()函数读取包含空格的字符串

scanf()函数读取输入时,遇到空格或者回车结束读取;

所以输入的字符串中有空格,到空格就中断了;

根据资料,使用 "%[^\n]" 这样的格式化符遇到空格继续读取,直到敲了回车;

看一下;

cpp 复制代码
#include <stdio.h> 

int main() 
{ 
    char str1[80]; 
	char str2[80];

	scanf("%s", str1);
	printf("str1 = %s\n",str1);
    scanf("%[^\n]",str2); //读到'\n'结束读取
	printf("str2 = %s\n",str2);

    return 0; 
}

输入AAA BBB CCC DDD,AAA读到了str1中,BBB CCC DDD读到了str2中;

我理解了一下,[]表示集合,^表示非,\n是换行符; 这是正则;

正则的^在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合;

相关推荐
周杰伦fans2 分钟前
C# AutoCAD 二次开发极简入门:从环境搭建到高效实战
开发语言·c#
hhb_6189 分钟前
Swift技术难点梳理与实战案例解析
开发语言·ios·swift
行走的陀螺仪14 分钟前
[特殊字符] JavaScript 设计模式完全指南:从入门到精通(含20种模式)
开发语言·javascript·设计模式
信竞星球_少儿编程题库16 分钟前
2026年全国信息素养大赛算法应用主题赛 丝路新城 Python 模拟卷(三)
开发语言·python·算法
江湖中的阿龙35 分钟前
【无标题】
java·开发语言
wjs202437 分钟前
SVG 渐变-放射性
开发语言
聚美智数39 分钟前
食物热量搜索与详情双接口接入实战,轻量化生活服务 API 落地
java·开发语言·生活
basketball61643 分钟前
并查集基础算法总结 C++ 实现
开发语言·c++·算法