#include <stdio.h> int main() { char aa; int year = 2014; //今年是2014年 //补全一下代码 if(year%4==0) { aa='闰'; } else { aa='平'; } printf("今年是%c年",aa); return 0; }
C语言中 一个 char 为一个字节 也就说最多能表示 256个字母,所以ASCII的编码表只有256字符,然而中文可不是一个字节能搞定的。所以你不能直接将一个汉字赋值给一个char 类型。
然而 我记得 好像用scanf 可以给一个char 赋值汉字。
说实在的我觉得 char 只有一个字节完全是因为老外用英文, 他们最多用 大小写72个字母、10个数字加20个左右的常用符号,一个最小单位256他们都富富有余了。
回复 无名氏_:scanf 的格式和 printf 的几乎一样。
scanf("%c",&c); //引号中为输入数据的格式,之后的参数为要被赋值的变量的存储的地址, &c的含义为 c变量所在的 内存地址 printf("%c",c); //引号中为输出数据的格式,之后的参数为要输出变量所对应的值。
不考虑闰年的概念,输出是错的;
系统输出{今年是?年}