作者bookticket ()
看板C_and_CPP
标题[问题] 有关呼叫函式产生一个回传值 充当条件运算式
时间Fri Aug 28 10:57:25 2009
有关於 呼叫函式产生一个回传值
把这个回传值充当作条件运算式
想请问 上面两行的是在说
如果回传值为0 则当作条件运算式成立
如果回传值非0 则当作条件运算式不成立
的这个意思吗
如果是的话
想再请问一下
那为什麽 底下我写的式子
跑的结果是 A 跟B 都被输出呢@ @
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(void)
{
if(printf("XYZ\n"));
cout << "A" << endl ;
cout << "B" <<endl ;
system("pause");
return 0;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.143.103
1F:推 QQ29:你if那边加了; 拿掉吧 08/28 10:59
2F:→ QQ29:而且printf 回传的是他印了多少个char 只要>0都会是true 08/28 11:01
3F:→ QQ29:所以A就一定会印 08/28 11:01
4F:推 VictorTom:B也是一定会被印的啊....Orz 08/28 11:03
5F:→ bookticket:可以请问一下为什麽 B 也会被输出吗? ||| 08/28 11:08
6F:→ bookticket:如果if 成立 为什麽会执行到输出B呢@ @||| 08/28 11:09
7F:→ fsyoung:cout <<"B"<<endl;上面多加一行空白,你就知道了 08/28 11:13
8F:→ bookticket:结果B还是有被输出阿@ @ 08/28 11:15
9F:推 VictorTom:小弟觉得, 您应该去把if/else还有C/C++基本语法看清楚. 08/28 11:22
10F:→ VictorTom:B那边没有被任何if/else{}给括到/单行接到, 就只是一条 08/28 11:23
11F:→ VictorTom:单独的指令, 跟下面PAUSE一样, 当然一定会被执行到. 08/28 11:24
12F:推 Peruheru:你的B那部分并没有任何条件限制,当然永远都会执行到它 08/28 13:20