LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1742|回复: 17

C的歧义

[复制链接]
发表于 2003-10-31 20:47:02 | 显示全部楼层 |阅读模式
#include<stdio.h>
void main(){
int a=3;
int*b;
b=&a;
a=a/*b;
/*How will C implement this?*/
;
printf("%d",a);
}

我怎么发现什么都没print?
 楼主| 发表于 2003-10-31 20:48:02 | 显示全部楼层
发表于 2003-10-31 20:55:35 | 显示全部楼层
/*
发表于 2003-10-31 21:41:35 | 显示全部楼层

  1. #include<stdio.h>
  2. void main(){
  3. int a=3;
  4. int*b;
  5. b=&a;
  6. a=a/(*b);
  7. /*How will C implement this?*/
  8. ;
  9. printf("%d",a);
  10. }
复制代码
 楼主| 发表于 2003-10-31 23:06:22 | 显示全部楼层
我本来想试一下C会怎么解释“/*”的,没想到它又不出3又不出1,呜~~~
发表于 2003-11-1 11:48:53 | 显示全部楼层
我记得c里面=&和&=是同意的,不过是比较老的语法,如果用gcc编译=&应该会有警告吧?
发表于 2003-11-1 12:14:15 | 显示全部楼层
能出啊。你前一个/*屏蔽了后面的指针,故a为3.
在linux (rh 9)在用gcc 编译通过,只是有警告。
发表于 2003-11-1 12:44:47 | 显示全部楼层
最初由 flyingwind2000 发表
能出啊。你前一个/*屏蔽了后面的指针,故a为3.
在linux (rh 9)在用gcc 编译通过,只是有警告。


True, syntax highlight will show this.
发表于 2003-11-23 16:26:21 | 显示全部楼层
呵呵,这就牵涉到思维定势的问题了.
题目到是真的不错,如果被用来做考试题的话......;=)那可就惨啦.
发表于 2003-11-23 20:15:51 | 显示全部楼层
我记得c里面=&和&=是同意的,不过是比较老的语法,如果用gcc编译=&应该会有警告吧?


完全不一样。

如果谁敢写这样的程序让我维护,我就问候他娘一百遍。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表