欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

C语言中判断int,long型等变量是否赋值的方法详解

来源:本站原创|时间:2020-01-10|栏目:C语言|点击:

当然,如果你不赋值给局部变量,这样会导致整个程序的崩溃,因为,它的内容被系统指向了垃圾内存。
下面我们看一段代码:

复制代码 代码如下:

#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 ,它可以把不同类型变量存放到字符数组中,我们之后可以判断,字符数组是否为空就可以了。
下面是经过修改了的代码:
复制代码 代码如下:

#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;
}

运行截图如下所示:



由此,解决了问题。

上一篇:linux c模拟ls命令详解

栏    目:C语言

下一篇:虚函数与纯虚函数(C++与Java虚函数的区别)的深入分析

本文标题:C语言中判断int,long型等变量是否赋值的方法详解

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/4331.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有