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

由此,解決了問(wèn)題。
相關(guān)文章
C語(yǔ)言編程中的聯(lián)合體union入門學(xué)習(xí)教程
這篇文章主要介紹了C語(yǔ)言編程中的聯(lián)合體union入門學(xué)習(xí)教程,也是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-12-12C語(yǔ)言實(shí)現(xiàn)掃雷項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07C++指針和數(shù)組:字符和字符串、字符數(shù)組的關(guān)聯(lián)和區(qū)別
字符串是一種重要的數(shù)據(jù)類型,但是c語(yǔ)言并沒(méi)有顯示的字符串?dāng)?shù)據(jù)類型,因?yàn)樽址宰址A康男问匠霈F(xiàn)或者存儲(chǔ)于字符數(shù)組中。在C++標(biāo)準(zhǔn)模板庫(kù)(STL)中提供了string類,實(shí)現(xiàn)了對(duì)字符串的封裝。2022-12-12C語(yǔ)言SetConsoleCursorInfo函數(shù)使用方法
這篇文章介紹了C語(yǔ)言SetConsoleCursorInfo函數(shù)的使用方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12C語(yǔ)言矩陣連乘 (動(dòng)態(tài)規(guī)劃)詳解
這篇文章主要介紹了C語(yǔ)言矩陣連乘 (動(dòng)態(tài)規(guī)劃)詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05QT應(yīng)用啟動(dòng)失敗排查方法小結(jié)
啟動(dòng)QT應(yīng)用經(jīng)常會(huì)碰到應(yīng)用啟動(dòng)失敗,qt platform plugin無(wú)法啟動(dòng),本文就來(lái)介紹一下QT應(yīng)用啟動(dòng)失敗排查方法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解以下2023-09-09