- 相關推薦
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語言中判斷int、long型等變量是否賦值的方法】相關文章:
c語言中int的用法有哪些03-10
c語言中什么是變量06-05
C語言中根據成員變量來排序的方法04-13
C語言中的相關變量知識05-11
C語言中變量儲存的類別07-24
c語言中什么是靜態變量02-02
C語言中根據成員變量來排序的兩種方法07-16
c語言中使用環境變量的技巧07-13