发布网友 发布时间:2022-04-23 03:16
共5个回答
热心网友 时间:2023-10-13 02:17
你想要指针的方法给中文插入空格打印输出,你的代码错在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;
}
}
热心网友 时间:2023-10-13 02:18
中文有不同编码,有UNICODE(4字节一个字),有UTF-8(3字节一个字),还有其它的编码类型,如果你不确定你是什么编码的,你可以引用string.h头文件的strlen函数查看一下一个中文占多少字节,再每次循环时加上这个数。
源代码:
#include <stdio.h>
#include <string.h>
int main()
{
int iChineseSize = strlen("你");
const char* p= "红橙黄绿青蓝紫";
while (*p != '\0')
{
printf("%.*s ", iChineseSize, p);
p += iChineseSize;
}
return 0;
}
热心网友 时间:2023-10-13 02:18
1、把字符串中插入空格:热心网友 时间:2023-10-13 02:19
c语言中输出字符串的函数有printf("%s")热心网友 时间:2023-10-13 02:20
c语言中,可以用gets函数来接收输入的字符串(包含空格)。