if默认不是0吗?

来源:百度知道 编辑:UC知道 时间:2024/05/31 18:25:15
#include "stdafx.h"
#include "iostream.h"

int main(int argc, char* argv[])
{double num1,num2,result;
char op;
int bo=0;
cout<<"输入一个数: "<<'\n';
cin>>num1;
cout<<"输入一个符号:+-*/"<<'\n';
cin>>op;
cout<<"输入一个数: "<<'\n';
cin>>num2;
switch(op)
{
case'+':
result = num1 + num2;
break;
case'-':
result = num1 - num2;
break;
case'*':
result = num1 * num2;
break;
case'/':
if(num2 ==0)
bo = 1;
else

result = num1 / num2;
break;}

if(bo)
cout<<"除数不为零"<<"\n";
else
cout<<num1<<op<<num2<<"的结果是: "<<result<<"\n";
return 0;}
--------------------

if为缺省时,代表值为真,即为1

bo在程序中作为判断出数是否为0的标志
你测试是,如果除数输入0,那就进入到下面这段程序来
if(num2 ==0)
bo = 1;
bo当然就为1

这是一个
通过输入两个操作数 及 符号 来得出一个结果的程序

bo的作用是 判断 除数是否为0的

关于你所说的问题
case'/': // 如果是除法运算
if(num2 ==0) // 如果除数为0
bo = 1; // bo=1
else // 否则

result = num1 / num2; // 将结果存放在result中
break;

0054687