C语言简单问题,谢谢

[复制链接]
查看11 | 回复5 | 2009-8-17 00:38:54 | 显示全部楼层 |阅读模式
你那程序没得问题估计是你编译器的问题按程序的意思会输出两句话{#ifdef HEL printf("hello ge pi\n");这里因为你定义了宏HEL,所以输出#else
printf("bushiba");这里不成立,不输出#endif这是表示前面的#if语句的结束,没多大意思,但C中规定不能省略printf("jiu shi hello\n");这里是输出语句 VC++6.0里估计是你那个预定义的宏没有参数#define HEL你在后面加个参数#define HEL 1随便加个,其实不加也行的,估计是那里的兼容问题 #define的原型为#def...
回复

使用道具 举报

千问 | 2009-8-17 00:38:54 | 显示全部楼层
1.首先理解运算符优先级,!在这里是最高的优先级,所以先计算,你可以到网上查其他的;2.理解逻辑运算,逻辑运算的结果不是1,就是0,凡是非0的就是1,a在这里非0所以认为!a就是非非0,双重否定就是他本身0了;3.0小于1,这是懂的我相信;4.入91268188,你知道的。...
回复

使用道具 举报

千问 | 2009-8-17 00:38:54 | 显示全部楼层
!a<b的运算顺序是先计算a<b,值为1再计算!1,结果为0 此表达式等值于!(a<b)...
回复

使用道具 举报

千问 | 2009-8-17 00:38:54 | 显示全部楼层
逻辑运算规则,a(非0)为真,则!a为假用0来表示,接着运算<b为真,表达式的值为1。...
回复

使用道具 举报

千问 | 2009-8-17 00:38:54 | 显示全部楼层
{#ifdef HEL这句换一下行 这样{#ifdef HEL再去运行试试...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行