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

Python014

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语言规定,字符串是用

双引号

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

可以通过下面的

程序段

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

char a[]="abc efg"

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

字符数组

a所占的

内存单元

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