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

Python010

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

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中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料:

百度百科-字符串

用 scanf("%s",array) 的话遇到空格就停止接收后面的字符了

以下是处理这种情况的一些方法(记录下来以免以后遇到相似的问题):

: %[abc] 表示字符组合包括 a、b和c ,如果遇到这三个字符之外的字符,则停止接收。 %[^abc] 代表字符组合为 abc 以外的所有字符,至于横杠是否用于指定某个范围的字符 %[a-z] ,则因编译器而异。

你想要指针的方法给中文插入空格打印输出,你的代码错在1、结束符号要写0或者'\0',不能写“\0”。2、一个中文是2个英文字符大小,所以每次循环指针要取2位打印。

所以上面那个指针的代码要改成:

#include <stdio.h>

int main()

{

  char* p= "红橙黄绿青蓝紫"

  while(*p!=0)

  {

      printf("%c%c ",*p,*(p+1))

      printf(" ")

      p+=2

  }

}