c与c++ 逻辑等于 的差异问题?
小弟在codeblocks IDE下分别用C和C++写了个关于逻辑等于的小程序
其结果出乎我所料 疑惑中 求解。
C程序:
#include<stdio.h>
int main()
{
int a=5;
int *p=&a;
printf("%d\n",*p==a?:1,0);
return 0;
}
输出 1
C++程序:
#include<iostream>
using namespace std;
int main()
{
int a(5);
int *p=&a;
cout<<(*p==a?:1,0)<<endl;
return 0;
}
输出 0
不明其中有何差异,求大神解惑!
[解决办法]
你先看看你的?:表达式写对了没有~~
[解决办法]
“*p==a?:1,0”这个好像应该是“*p==a?1:0”吧