关于C语言定义变量的问题

c语言中可以通过 判断某条件是否成立 然后据此决定是否定义变量吗?
比如可以达到如下效果的程序段有么?
if (条件成立) {定义变量c};

第1个回答  2014-11-27
可以是可以的,但定义的变量只能在 if 函数中使用,

如:
if(1)

{
int b=5;

printf("%d",b);

}
可输出b的值,但如果是:
if(1)

{
int b=5;

}

printf("%d",b);
则会报错:变量b没有定义。本回答被网友采纳
第2个回答  2014-11-27

可以的。。你可以输入如下程序调试

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a;
    scanf("%d",&a);
    if(a<2)
    {
        int b;
        b=100;
        printf("%d",b);
    }
   
    return 0;
}

第3个回答  推荐于2016-11-03
if (条件成立) {定义变量c};这种语句没有问题,但是这个变量的生命周期只在{}内,所以如果在if条件判断外就无法使用了。
不过你可以这样
int *p =NULL;
if(???)
{
p = new int[5];
}
这样的话就可以在整个程序中使用,记得最后要delete掉本回答被提问者采纳
第4个回答  2014-11-27
if (条件成立) {定义变量c} 这样可以,但c只能在这个if的{}中有效!!
第5个回答  2014-11-27
这个变量只能在这个if语句内用。在{}里定义的变量的生存期只在这个{}里,这和if不if没有关系
相似回答