两条C语言题 我是新手 #includemain(){printf("%d\n",NULL);}输出结果为什么是0?main(){ char c1='6',c2='0';printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}前面两个输出6,0可以理解,后面两个呢··?第二题输出结果为6,0,6,102
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/18 16:37:44
![两条C语言题 我是新手 #includemain(){printf(](/uploads/image/z/12889330-34-0.jpg?t=%E4%B8%A4%E6%9D%A1C%E8%AF%AD%E8%A8%80%E9%A2%98+%E6%88%91%E6%98%AF%E6%96%B0%E6%89%8B+%23includemain%28%29%7Bprintf%28%22%25d%5Cn%22%2CNULL%29%3B%7D%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF0%3Fmain%28%29%7B+char+c1%3D%276%27%2Cc2%3D%270%27%3Bprintf%28%22%25c%2C%25c%2C%25d%2C%25d%5Cn%22%2Cc1%2Cc2%2Cc1-c2%2Cc1%2Bc2%29%3B%7D%E5%89%8D%E9%9D%A2%E4%B8%A4%E4%B8%AA%E8%BE%93%E5%87%BA6%2C0%E5%8F%AF%E4%BB%A5%E7%90%86%E8%A7%A3%2C%E5%90%8E%E9%9D%A2%E4%B8%A4%E4%B8%AA%E5%91%A2%C2%B7%C2%B7%3F%E7%AC%AC%E4%BA%8C%E9%A2%98%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E4%B8%BA6%2C0%2C6%2C102)
两条C语言题 我是新手 #includemain(){printf("%d\n",NULL);}输出结果为什么是0?main(){ char c1='6',c2='0';printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}前面两个输出6,0可以理解,后面两个呢··?第二题输出结果为6,0,6,102
两条C语言题 我是新手
#include
main()
{printf("%d\n",NULL);}
输出结果为什么是0?
main()
{ char c1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);
}
前面两个输出6,0可以理解,后面两个呢··?
第二题输出结果为6,0,6,102
两条C语言题 我是新手 #includemain(){printf("%d\n",NULL);}输出结果为什么是0?main(){ char c1='6',c2='0';printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}前面两个输出6,0可以理解,后面两个呢··?第二题输出结果为6,0,6,102
第一题的printf函数输出结果是0 的原因是:在C语言中,NULL代表的就是0,是有一个头文件中定义的宏.
第二题的c1比c2ASCII码刚好大6,c1-c2应该也不用解释吧,c1+c2的结果是102,因为,字符'6'的ASCII码值是54,'0'的ASCII码是48,所以加起来是102.
附:int型和char型可以相互转换,条件允许的话还是看看ASCII码表,上面有对应的关系值.