为了账号安全,请及时绑定邮箱和手机立即绑定

我把练习做好了复制到VS17里面他却说有非法else是怎么回事

如题,初学者不是很理解

正在回答

7 回答

不对吧

在上面代码里有isFlag的状态

所以才能运行 楼上没看懂代码吧!


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

0 回复 有任何疑惑可以回复我~

if后面的()里应该写条件让编译器识别,表示在某种状态下。但是你在括号里只填了“isFlag”,显然,这无法表示是什么状态。然而,编译器依然把括号里的“isFlag”当成是一种状态,就成功识别了if,等到识别else的时候,编译器就懵了,因为它不知道“非isFlag”是个什么状态,所以就无法识别else。因此提示用户有非法else。

0 回复 有任何疑惑可以回复我~

楼上不知道能不瞎说吗,bool值的优点就在着不用用逻辑运算符,我用vs2015编译没问题啊

0 回复 有任何疑惑可以回复我~

if(isFlag==flase)

else

0 回复 有任何疑惑可以回复我~

#include <iostream>

#include <stdlib.h>

using namespace std;

namespace     myNum            //填写命名空间的关键字

{

    int x = 105;

}

using namespace myNum;

int main()

{

    // 使用bool类型定义isOdd,作为状态位

        bool    isFlag = false;       

if(myNum::x % 2 == 0)

{

//改变状态位的值,使其为false

        isFlag = false;

}

else

{

   //改变状态位的值,使其为true

        isFlag = true;

}

    // 判断状态位的值

if(isFlag)

{

// 如果状态位的值为true,则打印变量x是奇数

        cout << x << "是奇数" << endl;

}

else

{

        // 如果状态位的值为false,则打印变量x是偶数

cout << x << "是偶数" << endl;

}

return 0;

}


0 回复 有任何疑惑可以回复我~

发出来看看

0 回复 有任何疑惑可以回复我~

代码发不来看看

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之起航篇
  • 参与学习       291033    人
  • 解答问题       760    个

C++亮点尽在其中,本课程是在C语言基础上的一个延伸,得以升华

进入课程

我把练习做好了复制到VS17里面他却说有非法else是怎么回事

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信