这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 漓东e学堂 » 【经验贴】分享经验

共8条 1/1 1 跳转至

【经验贴】分享经验

菜鸟
2014-12-03 19:09:06     打赏

原帖地址:http://forum.eepw.com.cn/thread/260879/8/#75

分享一个小收获

  前天晚上做程序,编译以后报错,内容如下:

  错误指示-143行:定义的变量在后面的程序中没有使用。

  显然后面的程序使用了temp0,temp1,temp2 ,所以我百思不得其解了。

 

  然后我问了廖老师。原来在C语言中,定义变量的语句要在一个函数的最前面,

  而我在PWM_TEST这个函数中,第一句话先使用了delay函数,然后才定义声明变量,不符合C语言的规范。

  大家如果遇到类似的编译报错,又找不到原因,可以先考虑你的编程是否规范,语法是否合理~

  C语言果然还是还给老师了。

菜鸟
2014-12-03 19:31:11     打赏
2楼

恩,我隐约记得是要把定义变量放在前面

可是我的酱紫会出现警告而不是报错,为什么会警告呢???求解

1、定义了却没有用到。。?

2、在定义之前用了。。?

然后我是把他们放到全局变量才没有出现问题的

 

 


高工
2014-12-03 23:28:16     打赏
3楼

你试试

int temp0=0,temp1=0,temp2=0;


菜鸟
2014-12-04 10:54:09     打赏
4楼
temp0,temp1,temp2是那两个函数共用的吗? 如果是的话用全局变量声明

高工
2014-12-04 12:28:55     打赏
5楼

菜鸟
2014-12-04 12:36:34     打赏
6楼
恩,是用全局变量,只是觉得很奇怪,不能分别这样放吗=。=

菜鸟
2014-12-04 13:56:23     打赏
7楼

分别这样放的话,相当于数据的内容没有共享起来,

假如这个数据在一个函数中被修改了,但在另一个函数里还是初始值,

所以虽然在两个函数里都分别是temp0,temp1,temp2, 但他们的地址是不同的。

你遇到的那个警告我也还不明白,有空我去试试看


菜鸟
2014-12-04 20:02:44     打赏
8楼
suo ga~

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]