c语言,为啥输出的是?


# include<stdio.h>
#pragma warning(disable:4996)
int main() {
    char str[] = "好好学习天天向上";
    int n;
    for (int i = 0; i < 4; i++) {
        printf("%c\n", str[i]);
    }
    return 0;
}

为啥不输出中文

img

一个中文字符至少占两个char字符,中文字符不能用%c输出

把\n去掉,循环改成i<24

在main
方法第一行设置一个方法,可以输出中文,这个方法叫system什么我忘了

你好,改成类似这样的就可以了。

#include<stdio.h>
int main()
{
    char str[]={"你好!"};
    puts(str);
    return 0;
}

修改如下,供参考:

#include <stdio.h>
#pragma warning(disable:4996)
int main() 
{
    char str[] = "好好学习天天向上";
    int n;
    for (int i = 0; str[i] != '\0'; i++) {
        printf(i % 2 == 0 ? "%c" : "%c\n", str[i]);
    }
    return 0;
}