首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

在C++里支持else if 这种旁支条件判断吗

2012-10-16 
在C++里支持else if 这种分支条件判断吗?编译环境:32位 XP, VC++ 6.0我在写下面这个代码,其中函数cm用于计

在C++里支持else if 这种分支条件判断吗?
编译环境:32位 XP, VC++ 6.0
我在写下面这个代码,其中函数cm用于计算v1 的 v2次幂,当我输入 2,3时正确,结果为8,但是当我输入2 , -3时,却显示为1了。我经过调试发现,当执行到下面注释部分条件后的语句,v2就直接为0了(开始的时候v2还是等于-3的)。请大家帮忙看看。

C/C++ code
#include <iostream>using namespace std;int main(){    double cm(int v1, int v2);    cout << "Enter 2 int numbers:" << endl;    int a,b;    cin >> a >> b;    double result;    result = cm(a, b);    cout << "The result is: " << result << endl;    return 0;}double cm(int v1, int v2){    double temp = 1;    if ( v2 > 0)    {        while ( v2 != 0 )        {            temp *= v1;            --v2;        }    }    else if(v2 = 0)        temp = 1;    else     {        v2 = -v2;                //这里的时候,v2 就直接为0了,在这前面显示一直为-3的。        while ( v2 != 0 )        {            temp *= v1;            --v2;        }        temp = 1/temp;    }    return temp;}


[解决办法]
else if(v2 = 0)
【v2 = 0】

找错误的时候,别先找语言/编译器/电脑/老天爷的错,先从自己身上找起
[解决办法]
v2 == 0
[解决办法]
if()语句中的括号是用于判断用的,不是用于赋值的不能写成 “=”;()中应该写成“==”否则即使通过了编译,输出的结果也会很怪异!(在这里就不帮你改代码了,自己改过来映像深一点!)
[解决办法]
当然!
注意编码时候的细节+学会调试找错

[解决办法]
if(v2 = 0) 建议写成这样 if(0=v2) 这样就报错了

热点排行