通过IF语句选择结构

问题描述

| 我正在尝试使用IF语句选择两个可能的ANSI C表达式之一。每个表达式本身都能正常工作,例如...
wb_Parameters *WeightLimits = set100Parameters();
但是当通过IF选择它们时,例如...
if (strcmp(CurrentAircraft->PhenomType,\"100\") == 0) 
    wb_Parameters *WeightLimits = set100Parameters();
else
    wb_Parameters *WeightLimits = set300Parameters();
我收到错误消息\“使用未声明的标识符\'WeightLimits \'。\”我需要做些什么才能使它在IF语句中起作用?     

解决方法

        在if语句之后,WeightLimits超出范围。为避免这种情况,请在if之前声明它:
wb_Parameters *WeightLimits;
if (strcmp(CurrentAircraft->PhenomType,\"100\") == 0)
    WeightLimits = set100Parameters();
else
    WeightLimits = set300Parameters();
    ,        首先声明,然后分配正确的值:
wb_Parameters *WeightLimits = NULL;
if (strcmp(CurrentAircraft->PhenomType,\"100\") == 0) 
    WeightLimits = set100Parameters();
else
    WeightLimits = set300Parameters();
如果不先声明,它将超出范围,无法再使用。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...