0x4*_*141 1 c if-statement divide-by-zero
if (num2 != 0)
printf("\nInput 3 / Input 2 (int) %12d", divide);
else if (num2 == 0)
printf("\nInput 3 / Input 2 (int) DIV/0");
if (flt4 != 0)
printf("\nInput 2 / Input 1 (double) %16.3f", divide2);
else if (flt4 == 0)
printf("\nInput 2 / Input 1 (double) DIV/0");
Run Code Online (Sandbox Code Playgroud)
当我将num2或flt4设置为0时程序崩溃.否则它完全正常.我正在查看关于if/else语句的阅读,我相信我的格式是正确的,但显然有一个错误.
谢谢.
编辑:
我定义除法的代码是:
void calculate (int num1, int num2, int num3, float flt4,int* sum,int* mult,
int* mod,int* divide,double* mult2,double* divide2)
{
*sum = num1 + flt4;
*mult = num1 * num3;
*mod = (num1/10)%10;
*divide= num3 / num2;
*mult2= num1 * flt4;
*divide2= (double)num2 / num1;
return;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我如何构建这个程序,所以如果它除以零我可以在打印功能中显示.
你最有可能除以零.该divide
变量之前,"如果"设置,你无论如何执行该操作.把它放在第一个'if'里面,所以它除以num2
iff num2
不等于零.
编辑:它应该是这样的:
if (num2 != 0) {
divide = something / num2;
printf("\nInput 3 / Input 2 (int) %12d", divide);
}
Run Code Online (Sandbox Code Playgroud)