C語言中判斷int,long型等變量是否賦值的方法詳解
更新時間:2013年07月11日 10:11:35 作者:
聲明了int ,long型等局部變量,在利用一些方法給這些變量賦值之后,想判斷這些變量是不是真的被賦初值了,怎么辦
當(dāng)然,如果你不賦值給局部變量,這樣會導(dǎo)致整個程序的崩潰,因為,它的內(nèi)容被系統(tǒng)指向了垃圾內(nèi)存。
下面我們看一段代碼:
復(fù)制代碼 代碼如下:
#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;
}
說明:
我首先定義了一個全局變量,當(dāng)然,這會由系統(tǒng)自動初始化為0,但是兩個不同類型的局部變量并沒有初始化,而是通過兩個函數(shù)調(diào)用賦的值??墒?,現(xiàn)在,想一個問題,兩個函數(shù)調(diào)用是不是執(zhí)行成功了呢?如果不成功,還是沒有達到我所想要的效果,這怎么去判斷呢?
開始,博主也是沒想到好的解決辦法,也查閱別人怎么去做,沒有太多的收獲,可是,博主想到了C 語言中的一個函數(shù)--sprintf ,它可以把不同類型變量存放到字符數(shù)組中,我們之后可以判斷,字符數(shù)組是否為空就可以了。
下面是經(jīng)過修改了的代碼:
復(fù)制代碼 代碼如下:
#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;
}
運行截圖如下所示:

由此,解決了問題。
相關(guān)文章
C語言編程中的聯(lián)合體union入門學(xué)習(xí)教程
這篇文章主要介紹了C語言編程中的聯(lián)合體union入門學(xué)習(xí)教程,也是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-12-12C++指針和數(shù)組:字符和字符串、字符數(shù)組的關(guān)聯(lián)和區(qū)別
字符串是一種重要的數(shù)據(jù)類型,但是c語言并沒有顯示的字符串?dāng)?shù)據(jù)類型,因為字符串以字符串常量的形式出現(xiàn)或者存儲于字符數(shù)組中。在C++標準模板庫(STL)中提供了string類,實現(xiàn)了對字符串的封裝。2022-12-12C語言SetConsoleCursorInfo函數(shù)使用方法
這篇文章介紹了C語言SetConsoleCursorInfo函數(shù)的使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12