awa_awsl 发表于 2020-10-21 11:42:49

C数组问题求助

数组怎么存放中文?中文占两个字节。怎么输出数组?

xieglt 发表于 2020-10-21 11:50:41

跟普通字符一样就可以了

awa_awsl 发表于 2020-10-21 12:43:22

xieglt 发表于 2020-10-21 11:50
跟普通字符一样就可以了

#include<stdio.h>

int main()
{
    int i;
    char s={"hi"};
    for(i=0;i<2;i++)
      printf("%c",s);
    return 0;
}
不行
#include<stdio.h>

int main()
{
    int i;
    char s={"神"};
    for(i=0;i<2;i++)
      printf("%c",s);
    return 0;
}

xieglt 发表于 2020-10-21 13:38:01

本帖最后由 xieglt 于 2020-10-21 13:40 编辑


#include<stdio.h>
int main()
{
    char s1[] = "Hello,world" ;
    char s2[] = "春光灿烂猪八戒";
    char s3 = "神";

    printf("s1=%s\ns2=%s\ns3=%s\n",s1,s2,s3);
    //汉字是两个字节,也可以这样输出
    printf("%c%c\n",s3,s3);
    return 0;
}

风过无痕1989 发表于 2020-10-21 13:50:24


#include<stdio.h>
void main()
{
    char *p,c = "只要我们努力,就一定能学好C语言"; // 15个汉字,多开辟一个单元空间,否则会出现“array bounds overflow”警告
    int i;
    p = c;

    for(i =0; i < 32; i++)   // 指针循环输出
    {
      printf("%c", *p++);
    }
    printf("\n");

    for(i =0; i < 32; i++)   // 数组循环输出
    {
      printf("%c", c);
    }
    printf("\n");

    printf("%s", c);         // 字符串输出
    printf("\n");

}
页: [1]
查看完整版本: C数组问题求助