Mike's blog

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  0 Posts :: 23 Stories :: 83 Comments :: 0 Trackbacks

常用链接

留言簿(17)

我参与的团队

搜索

  •  

最新评论

三元运算符对于C程序员来说应该是很熟悉的了,有时它可以使代码更简洁、清晰,所以深得一部分程序员的喜爱,但在使用上是不是每一个程序员都知道它的准确用法呢?今天有人给我看了一个非常简单的程序,问我为什么编译出错,我才知道原来真的有人会忽略这个问题,代码如下:

#include <iostream>

using namespace std;

int main()
{
  
int a = 1;
  
  (a 
!= 1? a = 2 : cout << "hello" << endl;

  
return 0;
}

发现问题了吗?我让他把cout改成了printf,又让他仔细看了编译错误的信息,并且man printf看返回值。
是的,三元运算符的两个表达式是需要的int类型,而cout返回值是void*,看来我们常用的未必都是我们真正掌握的
posted on 2008-11-14 12:03 老狼 阅读(2444) 评论(0)  编辑 收藏 引用 所属分类: C/C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理