C语言基础-关于多项类型输入带空格的字符串/正则表达式

本文介绍了在C语言中处理带有空格的字符串输入的三种方法:使用gets()函数并及时抵消换行符,利用正则表达式`%[^ ]`,以及在百分号前加空格来消除无效空白输入。这些方法适用于需要读取包含空格的字符串场景。
摘要由CSDN通过智能技术生成


一、简述

在C语言中,如果循环输入字符串时其前后若有其他输入,很容易由’\n’被误写入而引起错误;

有时候也会对带空格的字符串感到比较麻烦。

二、举例

像这种循环输入且字符串还带空格的时候就需要特别注意,不要掉细节。

当遇到这种情况是时一定要仔细看看字符串输入前后的输入语句是不是都抵消掉\n了!
在这里插入图片描述

方法一:用gets()+及时抵消\n
//test_page_1
#include <stdio.h>
#include <stdlib.h>
struct stu
{
   
    char name[30];
    int num;
    double mark;
} stu[1010];
int main()
{
   
    int n;
    while (~scanf("%d\n", &n))//一定要注意这里抵消\n,不然会被gets读入!!!
    {
   
        int list[1010] = {
   0}, cnt = 0;
        for (int i = 1; i <= n; i++)
        {
   
            gets(stu[i].name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>