一、简述
在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

本文介绍了在C语言中处理带有空格的字符串输入的三种方法:使用gets()函数并及时抵消换行符,利用正则表达式`%[^
]`,以及在百分号前加空格来消除无效空白输入。这些方法适用于需要读取包含空格的字符串场景。
最低0.47元/天 解锁文章
1706

被折叠的 条评论
为什么被折叠?



