为了账号安全,请及时绑定邮箱和手机立即绑定

求教,我的哪里错了

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


正在回答

3 回答

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

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

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

1 回复 有任何疑惑可以回复我~
#1

无名氏_ 提问者

非常感谢!我还想问你说的scanf怎么用
2015-08-03 回复 有任何疑惑可以回复我~
#2

小玖so

大小写不是52个字母嘛?
2015-08-05 回复 有任何疑惑可以回复我~
#3

堕天使008 回复 小玖so

0.0 不知是手抽还是脑抽打错了....
2015-08-05 回复 有任何疑惑可以回复我~

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

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


0 回复 有任何疑惑可以回复我~

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

系统输出{今年是?年}

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926209    人
  • 解答问题       20797    个

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

进入课程

求教,我的哪里错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信