C++ if语句中判断内用逗号的使用

引用自:https://www.cnblogs.com/lingshaohu/archive/2011/10/31/2230085.html

void CTestDlg::OnStnClickedNumber1()
{
	CString str;
	if (GetDlgItem(IDC_NUMBER1)-> GetWindowText(str), str == L"Num1")
	{
		GetDlgItem(IDC_NUMBER1)-> SetWindowText(TEXT("数值1"));
	}
	else
	{
		GetDlgItem(IDC_NUMBER1)->SetWindowText(L"Num1");
	}
1.C++的if语句使用逗号表达式,说明:
逗号表达式与加减乘除本质上是一样的, 它的求值是从左向右依次对表达式求值, 
整个表达式的结果取逗号表达式中最后一个表达的的结果, 如果非零, 就会使 if 成立!
 

2.实例说明:
(1)例子一:

if (a!=b,b!=c,a!=c) 

相当于:

a!=b;
b!=c;
if (a!=c)


再举个例子
(2)例子二:

if (a=1,b=2,c>2)

相当于

a=1;
b=2;
if(c>2)



也就是说,计算前两个逗号前的式子,而以最后一个式子做返回值标准。

猜你喜欢

转载自blog.csdn.net/u013228754/article/details/81364435