博主这段时间在写一些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 ,它可以把不同类型变量存放到字符数组中,我们之后可以判断,字符数组是否为空就可以了。

下面是经过修改了的代码:

#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型等变量是否赋值的方法的更多相关文章

  1. 为什么阿里巴巴Java开发手册中强制要求整型包装类对象值用 equals 方法比较?

    在阅读<阿里巴巴Java开发手册>时,发现有一条关于整型包装类对象之间值比较的规约,具体内容如下: 这条建议非常值得大家关注, 而且该问题在 Java 面试中十分常见. 还需要思考以下几个 ...

  2. C语言中字符型和字符串型的区别?

    C语言中只有字符型类型,没有字符串型类型.字符类型用一个带符号的8位二进制编码表示,其性质与int相同,只是只有一个字节.表示字符的ASCII编码使用其中的0~127,所以要明白字符类型(char)其 ...

  3. Sql Server中判断表、列不存在则创建的方法[转]

    一.Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法  ? ...

  4. c语言中不允许在函数外部给全局变量赋值

    今天,在写条件编译的时候,出现了在函数外部给全局变量赋值的情况,gcc报错,那么c语言为什么不允许在函数外部给变量赋值呢?为什么声明变量的时候可以对变量进行赋值? 出错代码: /* 2 * ===== ...

  5. JavaScript中判断对象是否属于Array类型的4种方法及其背后的原理与局限性

    前言 毫无疑问,Array.isArray是现如今JavaScript中判断对象是否属于Array类型的首选,但是我认为了解本文其余的方法及其背后的原理与局限性也是很有必要的,因为在JavaScrip ...

  6. C语言入门(4)——常量、变量与赋值

    对于基本数据类型量,按其取值是否可改变又分为常量和变量两种.在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量.它们可与数据类型结合起来分类. 常量 常量有字符常量(Character ...

  7. java中 ++前后差别试题及静态变量一旦赋值不可改变

    package javaTest; public class Increment { private static int k=0; public static void main(String[] ...

  8. R语言中判断是否是整数。以及读写excel

    今天接手一个重复性工作, 需要手工把产品运营们在excel里写的活动规则, 插入数据库表中.为了减少出错, 提高效率. 再加上最近刚刚学R语言, 就用R练练手, 自动生成mysql的sql语句. 一次 ...

  9. 算法改进 | java语言中判断素数

    参考文章:http://blog.csdn.net/kp_liu/article/details/37569507 http://blog.csdn.net/huang_miao_xin/articl ...

随机推荐

  1. MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串

    原文:MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串 如何让视图通过某种途径,把符合日期格式的字符串放到路由中,再传递给类型为DateTime的控制 ...

  2. Android开发:怎样定制界面风格

    统一的用户界面是可以使得应用程序更友好.要做到用户界面的统一,我们就必须用到风格(style)和主题(theme).OPhone系统提供了很多系统默认的风格和主题,但是很多情况下,这些不能满足我们的需 ...

  3. Android-Universal-Image-Loader学习笔记(两)--LruDiscCache

    最近最少使用缓存官员最近(LruDiscCache)之前,引入一个概念,一个重要的三个班: key:这是DiscCacheAware接口save里面的方法imageUri通过调用参数FileNameG ...

  4. CSS3实战开发: 纯CSS实现图片过滤分类显示特效

    原文:CSS3实战开发: 纯CSS实现图片过滤分类显示特效 各位网友大家好,今天我要带领大家开发一个纯CSS的图片分类显示的网址导航,单纯看标题大家可能有些困惑,依照以往惯例,我先给大家演示一下实际运 ...

  5. jmeter参数化之CSV Data Set Config

    在jmeter中,可以用CSV Data Set Config实现参数化. 1.准备参数化数据

  6. [Node.js框架] 为什么要开发 Codekart 框架

    两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后接触了Lisp.python.java.Ruby.Lisp几乎 ...

  7. Nancy学习

    Nancy学习 一.认识Nancy 今天听讲关于Nancy框架的培训,被Nancy的易用性所吸引.故晚上回来梳理了一下知识. 什么是Nancy呢?如标题所述,Nancy是一个轻量级的独立的框架: Na ...

  8. 自制 Word、Excel 批转 PDF 工具

    原文:自制 Word.Excel 批转 PDF 工具 目前做金融业的项目,该公司每天会产生很多 Word.Excel 文档,需要大量地转换为 PDF,除了自己保存外,也要给金融主管机构作为备份.由于文 ...

  9. GoogleGoogle搜索解析

    GoogleGoogle搜索解析 是一个类似Google趋势SEO 在 线keyword工具.它的正式口号提出“在搜索些什么”.利用Google搜索解析,能够比較特定区域.类别.时间范围以及搜索资源之 ...

  10. apache kafkac系列lient发展-java

    apache kafka区QQ群:162272557 1.依赖包 <dependency>             <groupId>org.apache.kafka</ ...