c语言,怎样输出有空格的字符串?

Python0459

c语言,怎样输出有空格的字符串?,第1张

你想要指针的方法给中文插入空格打印输出,你的代码错在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

  }

}

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

格式:gets(字符数组名)

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

举例说明如下:

char str[20]  // 定义一个字符数组,大小为20个字节

gets(str)     // 将用户输入的字符串(可以包含空格)存储到字符数组str中,以回车结束输入

printf("%s", str)  // 输出用户输入的字符串(包含空格)

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

字符串中的空格算一个字符。

C语言规定,字符串是用

双引号

括起来的字符序列。由于空格也在字符串中(在双引号内),所以空格也算一个字符。

可以通过下面的

程序段

来验证空格算不算一个字符:

char a[]="abc efg"

printf("%d", sizeof(a)) // 输出8, 6个字符+1个空格+1个字符结束标志,sizeof函数是测试

字符数组

a所占的

内存单元

printf("%d", strlen(a)) // 输出7, 6个字符+1个空格,strlen函数是测试数组a中字符的个数