C语言如何输入一行有空格的字符串?

从键盘输入 中间有空格 每两个空格的之间的作为一段字符串,要能读到该行所有的字符串 怎么做啊?

C语言输入一行有空格的字符串的方法:

1、对于char

char s[100];

cin.getline(s,1000);//第二个参数表示允许输入的最大长度while(cin.getline(s,1000));

输入输出样例

输入:He llo

输出:He llo

2、对于string

string s;

getline(cin,s);while(getline(cin,s));

输入输出样例

输入:He llo

输出:He llo

扩展资料

字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j",而字符串的零位正是它的长度。

这可以给我们提供很多方便,高精度运算时每一位都可以转化为数字存入数组。

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。

两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料:

百度百科-字符串

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-15

C语言中,可以用gets函数来接收输入的字符串(包含空格)。


格式:gets(字符数组名);

功能:gets函数用于将输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\n'被换成'\0'存储在该数组中。


举例说明如下:

char str[20];  // 定义一个字符数组,大小为20个字节
gets(str);     // 将用户输入的字符串(可以包含空格)存储到字符数组str中,以回车结束输入
printf("%s", str);  // 输出用户输入的字符串(包含空格)

注:使用gets函数时,需将头文件#include<stdio.h>包含到源文件中。

第2个回答  推荐于2017-09-27
如果你用scanf()函数的话,遇到空格会返回;
如果你用gets()函数的话,遇到空格就不会返回了,遇到回车才返回;
gets()格式:

char *p;
gets(p);
那么字符串就以p为首地址存放,记得给p分配足够的空间就好。本回答被提问者采纳
第3个回答  2008-05-17
#include <stdio.h>
int main()
{
char str[100];
gets(str);
printf("%s\n",str);
return 0;
}

P.S. 敢问楼下的兄台
char *p;
gets(p);
这一句你测试了吗?你想把字符串输入到哪啊?
第4个回答  2008-05-17
char str[100];
gets(str);

或者
char str[100];
scanf("%[^\n]",str);

C语言如何输入一行有空格的字符串?
C语言中,处理含有空格的字符串输入有多种方法。首先,如果你使用char数组,可以这样操作:声明一个char类型的数组,如chars[100];然后利用cin.getline()函数读取输入,例如cin.getline(s,1000),这里1000是最大长度。输入例如"Hello",输出结果会保持原样。对于string类型的字符串,操作更为简洁:声明一...

C语言如何输入一行有空格的字符串?
C语言输入一行有空格的字符串的方法:1、对于char char s[100];cin.getline(s,1000);\/\/第二个参数表示允许输入的最大长度while(cin.getline(s,1000));输入输出样例 输入:He llo 输出:He llo 2、对于string string s;getline(cin,s);while(getline(cin,s));输入输出样例 输入:He llo 输出:H...

C语言如何输入一行有空格的字符串?
C语言中,可以用gets函数来接收输入的字符串(包含空格)。格式:gets(字符数组名);功能:gets函数用于将输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\\n'被换成'\\0'存储在该数组中。举例说明如下:char str[20]; \/\/ 定义一个字符数组,大小为20个字节 gets(str); \/\/ 将用户...

C语言如何输入一行有空格的字符串?
gets()格式:char*p;gets(p);那么字符串就以p为首地址存放,记得给p分配足够的空间就好。

C语言中输入一串以空格分隔的整型数据,怎么办?
1、当要向输出设备(显示屏、打印机等)输出字符时,可以用 c 格式描述符控制。如下所示代码即输出字符ch (a) :char ch = 'a';printf("Character: %c \\n",ch);2、在需要输出十进制数字时,可以用d 或 i 控制输出,如下所示: int dcm = 24; printf("Decimal number: %d\\n",dcm); ...

C语言用如何用scanf输入带有空格的字符串
回答:亲~~~ 可以用gets();语句哦~~~ 如: #include <stdio.h> void main() { char str[20]; gets(str); printf("%s",str); } gets();语句是以回车结束的,而scanf语句是以空格结束的~~~

C语言用如何用scanf输入带有空格的字符串
要输入带空格的字符串,要用到一个格式字符:%[] --> 一个字符集。“%[]”的作用是扫描字符集合:例如:scanf(“%[^\\n]”,str);具体作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符;如果一经发现不属于就结束提取。该方法会自动加上一个'\\0'到已经提取的字符后面。...

c语言如何输出有空格的字符串
c语言中输出字符串的函数有printf("%s") puts() fputs()等,字符串中可以是任意的字符,包括空格在内,无特殊处理,如:char str[]="hello world" ;printf("%s\\n", str );puts(str);fputs(str,stdin);但在输入带有空格的字符串时,只能用gets()或fgets(),而不能用scanf("%s") ,因为...

c语言,怎样输出有空格的字符串?
你想要指针的方法给中文插入空格打印输出,你的代码错在1、结束符号要写0或者'\\0',不能写“\\0”。2、一个中文是2个英文字符大小,所以每次循环指针要取2位打印。所以上面那个指针的代码要改成:include <stdio.h> int main(){ char* p= "红橙黄绿青蓝紫";while(*p!=0){ printf("%c%c "...

C语言编程:从键盘输入一个有空格的字符串,删除所有重复字符,按字符升 ...
代码文本:include "stdio.h"int main(int argc,char *argv[]){ char a[101],*p,*px,t;printf("Input a string...\\n");for(p=a,t=0;t<100;t++)\/\/输入字符串 if((*(p+t)=getchar())=='\\n')break;(p+t)='\\0';for(p=a;*p;p++)\/\/排序 for(px=p+1;*px;px++)if...

相似回答