改C++程序的BUG

来源:百度知道 编辑:UC知道 时间:2024/05/09 08:28:45
#include <stdio.h>
#include <stdlib.h>

/**
* @brief bug: 查找错误练习
*
* 此程序的功能要求是:
* 当x为零时,如果y也为零则输出错误提示。当x不为零则输出它们的和。
* Bug:
* 当x不为零时没有输出,当x为零且y不为零时输出了和。请修正错误。
*/

int main(int argc, char* argv[])
{
int x,y,z;

printf("请输入两个整数x和y:");
fflush(stdout);
scanf("%d%d", &x, &y);

if (x == 0)
if (y == 0) printf("出错了!x与y不能同时为0。\n");
else {
z = x + y;
printf("z = x+y = %d", z);
}

return EXIT_SUCCESS;
}

请哪位大侠帮帮忙把这个BUG给改出来,感激不尽啊

把if (x == 0)
if (y == 0)
写成并列 AND
就是说 但X=0且Y=0时
才printf
好像改为
if (x==0 && y==0)
{
printf("出错了!x与y不能同时为0。\n");
}
因为 很久没写C了
并列好像是&&
我记不清了
自己翻下书确认一下