求教,我的哪里错了

来源:4-2 分支结构之简单if-else语句

无名氏_

2015-08-02 16:39

#include <stdio.h>
int main() 
{   char aa;
    int year = 2014; //今年是2014年
    //补全一下代码
    if(year%4==0)
    {
        aa='闰';
    }
    else
    {
        aa='平';
    }
    printf("今年是%c年",aa);
    return 0;
}


写回答 关注

3回答

  • 堕天使008
    2015-08-03 01:17:52
    已采纳

    C语言中 一个 char 为一个字节 也就说最多能表示 256个字母,所以ASCII的编码表只有256字符,然而中文可不是一个字节能搞定的。所以你不能直接将一个汉字赋值给一个char 类型。

    然而 我记得 好像用scanf 可以给一个char 赋值汉字。

    说实在的我觉得 char 只有一个字节完全是因为老外用英文, 他们最多用 大小写72个字母、10个数字加20个左右的常用符号,一个最小单位256他们都富富有余了。

    堕天使008 回复小玖so

    0.0 不知是手抽还是脑抽打错了....

    2015-08-05 23:29:45

    共 3 条回复 >

  • 堕天使008
    2015-08-03 21:51:59

    回复 无名氏_:scanf 的格式和 printf 的几乎一样。

    scanf("%c",&c);   //引号中为输入数据的格式,之后的参数为要被赋值的变量的存储的地址, &c的含义为 c变量所在的 内存地址
    printf("%c",c);   //引号中为输出数据的格式,之后的参数为要输出变量所对应的值。


  • 无名氏_
    2015-08-02 16:48:49

    不考虑闰年的概念,输出是错的;

    系统输出{今年是?年}

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926026 学习 · 20793 问题

查看课程

相似问题