首页 > 其他 > 详细

输入一组带空格的字符串

时间:2021-01-30 21:13:09      阅读:24      评论:0      收藏:0      [点我收藏+]
众所周知scanf()函数输入字符串时遇到空格或者回车就会停止录入字符
即使用
char arr[1000];
scanf("%s", arr);
printf("%s\n", arr);
这种方法不可能输出一组带空格的字符串
这时我考虑使用getchar()函数
getchar()函数无论遇到回车时停止录入(可以录入空格)
但getchar()只能返回输入字符串的第一个字符,所以需要循环才能组成字符串
下面请看代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main(){
char a[1000]; //首先定义一个足够大的数组
char ch;
int i = 0;
while ((ch = getchar()) != EOF){ //使用循环意思为当 ch!=EOF(ctrl+z)时进行循环否则跳出
if (ch == ‘\n‘){ //判断是否为回车若是则将结束符赋给第i-1个元素
a[i] = ‘\0‘; //‘\0‘结束符当printf()输出为‘\0‘前的所有字符
break;
}
a[i] = ch;//不是回车则赋值给字符串元素
++i;
}
printf("%s\n", a);
printf("%d\n", strlen(a));
return 0;
}
完成目标

输入一组带空格的字符串

原文:https://blog.51cto.com/15079723/2612679

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!