int 变量的默认初始值
Posted profesor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了int 变量的默认初始值相关的知识,希望对你有一定的参考价值。
int 变量的默认初始值为0
这可以写个小程序测试下:
#include <stdio.h> int main() { int i; if (i == 0) { printf("Hola, mundo, i = %d ", i); } return 0; }
运行结果为:
Hola, mundo, i = 0
可见int i虽求对i赋值,但是默认值为0;
同理下面的问题,就迎刃而解了:
#include <stdio.h> void func(int a, int b, int c) { c = a * b; } int main() { int c; func(2,3,c); printf("c = %d ", c); return 0; }
运行结果却为0。
如果真想得到6,有两种解决方法,
一是添加return 语句,代码如下:
#include <stdio.h> int func(int a, int b, int c) //void 改为int,因为需要return value了 { c = a * b; return c; //添加return语句 } int main() { int c; printf("c = %d ", func(2,3,c)); //func移动printf里面来 return 0; }
或者更简洁点:
#include <stdio.h> int func(int a, int b) { int c = a * b; return c; } int main() { printf("c = %d ", func(2,3)); return 0; }
二是引入指针变量(本题的原意)
#include <stdio.h> void func(int a, int b, int* c) //这里定义指针变量c,将c指向main函数中int c的地址 { *c = a * b; } int main() { int c; func(2,3,&c); //把int c的地址交给func函数中的指针变量c printf("c = %d ", c); return 0; }
以上是关于int 变量的默认初始值的主要内容,如果未能解决你的问题,请参考以下文章
java中数组变量名的默认值 如定义int[] a;此时a的默认值应该为null吧,如
java中,声明基础变量和数组后都有默认值。例如int i;//默认值是0;int []i=new int [10];//默认值都是0