C语言中判断int、long型等变量是否赋值的方法
如果不赋值给局部变量,这样会导致整个程序的崩溃,因为,它的内容被系统指向了垃圾内存。下面是小编为大家带来的C语言中判断int、long型等变量是否赋值的方法,欢迎阅读。
C语言中判断int、long型等变量是否赋值的方法当然,如果你不赋值给局部变量,这样会导致整个程序的`崩溃,因为,它的内容被系统指向了垃圾内存。
下面我们看一段代码:
复制代码 代码如下:
#include
#include
#include
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 : %dn", globle_value);
printf("auto_value_int : %dn", auto_value_int);
printf("auto_value_long : %ldn", 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
#include
#include
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 : %dn", globle_value);
sprintf(temp, "%d", auto_value_int);
if (strcmp(temp, "") != 0)
{
printf("auto_value_int : %dn", auto_value_int);
}
sprintf(temp, "%ld", auto_value_long);
if (strcmp(temp, "") != 0)
{
printf("auto_value_long : %ldn", 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语言实现)
直接插入排序方法:仅有一个记录的表总是有序的,因此,对于有n个记录的表,可以从第二个记录开始直到第n个记录逐个有序的向有序表中进行插入操作,从而得到n个记录按关键字有序的表。下面一起跟着小编学习一下吧!实现一个直接插入排序的`C语言函数,要求对要排序的元素按...
-
C语言输出菱形的方法
题目:输出行列都相等的菱形,如5行5列:行列123451*2***3*****4***5*分析:当行数等于总行数的一半时,*是递增的,递增为2。当行数大于总行数的一半时,*是递减的,递增为2。设有一个行列为n的菱形,我们用变量i作为行数,以0开始,ik作为n菱第i行要输出的*个数。则i<=n的中值(用m...
-
2017计算机二级C语言精选习题
多做题有助于同学们及时检测自己的学习情况。希望提供的2017计算机二级C语言精选习题,能够帮助大家巩固所学知识,为今后的学习打好基础!(1)OSI模型的'物理层负责下列哪一种功能?A)格式化报文B)为数据选择通过网络的路由C)定义连接到介质的特征D)提供远程文件访...
-
2017年计算机二级C语言的应用
yjbys考试网为您整理了2017年计算机二级C语言的应用,更多计算机等级考试相关信息请访问应届毕业生计算机等级考试网。从前面对C语言的特点的分析中,不难看出C语言具有编程方便、语句简练、功能很强、移植性好等优点,是编程者喜欢使用的一种结构化程序设计语言。C...
相关文章
- Unit six Opening and Closing Ceremonies口译材料
- 关于javascript使用isNaN()函数判断变量是否为数字
- Connect to Idle Instance问题的解决方法
- GMAT数学Induction题型的解决方法
- 2016商务英语写作范文:Emotional Intelligence
- Unit 1 London is the capital of England说课稿
- 低碳生活英语写作范文:An activity about low carbon living
- C语言中的整数(short,int,long)
- The Olympic Games in London初中英语作文
- Chongqing,a Colorful City英语作文