Var*_*aru -1 c int initialization
我正在制作一个图像处理程序,我已经初始化了这个变量:
int minR, minG, minB = 255; int maxR, maxG, maxB = 0;
printf("%d", maxG);
Run Code Online (Sandbox Code Playgroud)
当我打印这个,而不是得到它应该是0,我得到16384作为maxG的值.但是,如果我这样做:
int minR, minG, minB = 255; int maxR, maxB = 0;
int maxG = 0; printf("%d", maxG);
Run Code Online (Sandbox Code Playgroud)
一切顺利.
有谁知道为什么会这样?谢谢.
初始化程序仅适用于它所遵循的一个声明符,而不是列表中的任何其他声明符!
所以,int a = 10, b, * c = NULL;只有初始化a和c,但b仍然未初始化.
(顺便说一下,读取未初始化的变量有不确定的行为.)
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |