C语言找出数组中的二进制元素的第一位1

用C语言找出一个数组中第一个含有1的元素,该数组元素为8位整形数,并且找到这个元素第一个1是它的第几位,从最低位开始找,要怎么写呢?比如说第一个元素是00010000,它的第一个1就是它的第5位。


#include<stdio.h>
int main() {
    int i,a[8]={0,0,0,1,0,0,0,0};
    for(i=7; i>=0; i--)
    {
        if(a[i]==1)
        {
            printf("第一个1在第%d位",8-i);    
            break;
        }
    }
    return 0;
}

既然已经是数组了,倒序检索一下不就行了吗?你的难点在哪?