C语言中如何判定int和long型等变量是否赋值
当前位置:以往代写 > C/C++ 教程 >C语言中如何判定int和long型等变量是否赋值
2019-06-13

C语言中如何判定int和long型等变量是否赋值

C语言中如何判定int和long型等变量是否赋值

副标题#e#

博主这段时间在写一些C措施的代码,由于以前对C不是相识许多,故碰着许多瓶颈,虽然,个中也有许多 有趣的要领可以操作以办理这些困难,下面这个问题就是博主碰着的一个贫苦。

声明白 int ,long 型等局部变量,在操作一些要领给这些变量赋值之后,想判定这些变量是不是真的被赋初值了,怎么办?

虽然,假如你不赋值给局部变量,这样会导致整个措施的瓦解,因为,它的内容被系统指向了垃圾内 存。

下面我们看一段代码:

#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
      
int globle_value;  
      
int my_sum(int value1, int value2);  
long my_sub(long value1, long value2);  
      
int main(void)  
{  
    int auto_value_int;  
    long auto_value_long;  
      
    auto_value_int = my_sum(15, 9);  
    auto_value_long = my_sub(12587, 22587);  
      
    printf("globle_value : %d\n", globle_value);  
    printf("auto_value_int : %d\n", auto_value_int);  
    printf("auto_value_long : %ld\n", auto_value_long);  
      
    system("PAUSE");  
    return 0;  
}  
      
int my_sum(int value1, int value2)  
{  
    return value1 + value2;  
}  
      
long my_sub(long value1, long value2)  
{  
    return value2 - value1;  
}

说明:

我首先界说了一个全局变量,虽然,这会由系统自动初始化为0,可是两个差异范例的局部 变量并没有初始化,而是通过两个函数挪用赋的值。但是,此刻,想一个问题,两个函数挪用是不是执行乐成 了呢?假如不乐成,照旧没有到达我所想要的结果,这怎么去判定呢?

开始,博主也是没想到好的解 决步伐,也查阅别人怎么去做,没有太多的收获,但是,博主想到了C 语言中的一个函数–sprintf ,它可以 把差异范例变量存放到字符数组中,我们之后可以判定,字符数组是否为空就可以了。


#p#副标题#e#

下面是颠末修 改了的代码:

#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
      
int globle_value;  
      
int my_sum(int value1, int value2);  
long my_sub(long value1, long value2);  
      
int main(void)  
{  
    int auto_value_int;  
    long auto_value_long;  
    char temp[20] = {0};  
      
    auto_value_int = my_sum(15, 9);  
    auto_value_long = my_sub(12587, 22587);  
      
    printf("globle_value : %d\n", globle_value);  
      
    sprintf(temp, "%d", auto_value_int);  
    if (strcmp(temp, "") != 0)  
    {  
        printf("auto_value_int : %d\n", auto_value_int);  
    }  
          
    sprintf(temp, "%ld", auto_value_long);  
    if (strcmp(temp, "") != 0)  
    {  
        printf("auto_value_long : %ld\n", auto_value_long);  
    }  
          
    system("PAUSE");  
    return 0;  
}  
      
int my_sum(int value1, int value2)  
{  
    return value1 + value2;  
}  
      
long my_sub(long value1, long value2)  
{  
    return value2 - value1;  
}

运行截图如下所示:

C语言中如何鉴定int和long型等变量是否赋值

由此,办理了问题。

    关键字:

在线提交作业