如何搜索数组以查明它是否包含一组值 在数组中的特定元素范围内(可能是从位置2到位置7,第一个元素将是帧的开始,长度等)
if input_data[1:5] == (45, 35, 230, 28)
if contains 45
send sensor 1 data;
if contains 35
send sensor 2 data;
if contains 230
send sensor 3 data;
if contains 28
send sensor 4 data;
它可能包含上述值的任意组合(顺序),或者不包含任何一个元素,如果找不到关联元素,则应停止发送数据
我正在尝试根据收到的元素发送一些请求的数据
已更新!!
数据仅接收一次(仅在更新时),根据接收到的数据我需要在后台发送请求的传出数据,
if input_data[1:5] == (45, 35, 230, 28)
if contains 45
send_Sensordata1 = 1
if contains 28
send_Sensordata4 = 1
在其他函数中(在后台运行)
if send_Sensordata1 ==1
do something here(main sending stuff goes here)
if send_Sensordata4 ==1
do something here (main sending stuff goes here)
因此,在第一个传入数据中,我获取所有元素,然后发送请求的数据,但如果下一个传入数据中缺少某个元素,我需要停止为该特定请求发送传出数据(例如切换)
最佳答案
您必须循环遍历数组
并每次查找这些特定元素。
for(i=2; i<7; i++)
{
if(array[i] == 45)
send sensor 1 data;
else if(array[i] == 35)
send sensor 2 data;
else if(array[i] == 230)
send sensor 3 data;
else if(array[i] == 28)
send sensor 4 data;
}
关于检查c中数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34326426/