【发布时间】:2015-03-26 06:01:10
【问题描述】:
我是 C 编程的新手。 谁能帮我解释一下我遇到的错误。 我不明白为什么会出现此错误。
test4.c: In function 'main':
test4.c:65:3: warning: control reaches end of non-void function [-Wreturn-type]
下面是我的代码:
#include <webots/robot.h>
#include <webots/distance_sensor.h>
#include <webots/differential_wheels.h>
#define TIME_STEP 64
int main()
{
wb_robot_init();
int i;
WbDeviceTag ps[8];
char ps_names[8][4] = {"ps0","ps1","ps2","ps3",
"ps4","ps5","ps6","ps7"};
for(i=0;i<8;i++)
{
ps[i]=wb_robot_get_device(ps_names[i]);
wb_distance_sensor_enable(ps[i], TIME_STEP);
}
while(1)
{
int delay=wb_robot_step(TIME_STEP);
if(delay==-1)
break;
double ps_values[8];
for(i=0;i<8;i++)
ps_values[i]=wb_distance_sensor_get_value(ps[i]);
//printf("ps0=%d\t", ps_values[0]);
double left_speed=500;
double right_speed=500;
for(;;)
{
if(ps_values[0]>80 || ps_values[1]>80 || ps_values[2]>80)
{
left_speed =-500;
right_speed =500;
}
else if(ps_values[5]>80 || ps_values[7]>80 || ps_values[2]>80)
{
left_speed =500;
right_speed =-500;
}
else
{
left_speed =500;
right_speed =500;
}
}
wb_differential_wheels_set_speed(left_speed, right_speed);
wb_robot_cleanup();
return 0;
}
}
【问题讨论】:
-
return 0;应该不在while (1) {...}范围内。 -
一个空格缩进是相当小的。我推荐 4 个空格作为一个很好的缩进。
标签: c