黑马程序员技术交流社区
标题: 我的错误整理 [打印本页]
作者: paradise6 时间: 2015-8-6 07:35
标题: 我的错误整理
1. 变量使用注意
变量作用域(作用范围):从定义变量的那行代码开始,一直到所在的代码块结束。
代码块的作用:及时回收不再使用的变量,为了提升性能
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5513.tmp.png
int test()
{
score=200;
return 0;
}
int main()
{
test();
score=100; //错误写法,test函数调用结束后,函数中变量所占存储空间自动清除
int b;
b=a; //错误写法,变量a还未定义
int a=10;
return 0;
}
报错:使用未定义标示符’a’
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5563.tmp.png
include<stdio.h>
int main()
{
{
int a=10; //在函数内部{}表示代码块,代码块执行完毕后,其所在存储空间消失
}
printf (“a=%d\n”, a); //报错:使用未定义标示符
int score=100;
{
int score=200;
{
score=50 //没有定义新变量,而是把外部代码块score改为50
}
printf (“score=%d\n”, score) //打印结果为50
}
printf (“score=%d\n”, score) //打印结果为100
return 0;
}
2. 作用域不明确
如果要在if后面的语句中定义新变量,必须用{}
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5564.tmp.png
#include<stdio.h>
int main()
{
/*
if (10>6)
{
int a=10
}
printf(“%d\n”, a) //a处在代码块,代码块结束后,a所在存储空间消失,报错
*/
if (10>6)
int a=10 //a的作用域不明确,编译器不知a属于if还是整个代码,报错
return 0;
}
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5584.tmp.png
如果要在case后面定义新变量,必须用{}
这个例子中case ’+’后的代码如果不加{},那么sum的作用域不明确
sum看起来在switch后的代码,但是只能用于’+’,与后面的代码作用域混乱,所以会报错
-
图片1.png
(23.21 KB, 下载次数: 55)
-
图片2.png
(39.25 KB, 下载次数: 103)
作者: hejunxin 时间: 2015-8-6 08:16
这些错误确实是经常犯
作者: neverbloom7 时间: 2015-8-7 06:50
用心学习了!
作者: paradise6 时间: 2015-8-7 07:55
加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |