a17632 发表于 2017-2-12 00:44:52

为什么goto之间不能插入类型声明

本帖最后由 a17632 于 2017-2-12 18:49 编辑

#include <iostream>
#include <cmath>
using namespace std;

int main(void)         
{
   int a1={0},i,index=0,hhh=100;
   double sum=0;
   
   
   for(i=0;i<10;i++){
              cin>>a1;sum+=a1;
              if(index<a1)index=a1;
              if(hhh>a1)hhh=a1;
              if(a1>100&&a1<0)goto loop;
             
   }
      double t=(sum-index-hhh)/10.0;      //去掉double 声明 程序就可以运行
      loop:cout<<"the score is invalid";
        return 0;
}

a17632 发表于 2017-2-12 00:46:21

人造人 发表于 2017-2-12 10:03:48

本帖最后由 人造人 于 2017-2-12 10:06 编辑


人造人 发表于 2017-2-12 10:39:30

你代码贴错了吧^_^

a17632 发表于 2017-2-12 18:54:09

代码没有贴错,发帖后代码里的 a1b变成a1好奇怪

嘻哈小土匪 发表于 2017-2-12 23:54:27

C++prime中有说过这个问题,原文是这样的:
   和Switch语句类似,goto语句也不能将程序的控制权从变量的作用域之外转移到作用域之内
页: [1]
查看完整版本: 为什么goto之间不能插入类型声明