字符串比较不起作用,二进制到十六进制转换

时间:2014-09-24 09:36:37

标签: c

在进行二进制到十六进制转换的过程中,我对C非常陌生。我真的不明白为什么while循环中的字符串比较不起作用。 (sect ==" 1001") 我知道它与我手动添加的NULL char有关。

#include <stdio.h>

/*
 * .in file::
 * 
 * 1001110000000001
 * 
 */

int main(void) {
    char bin[100];
    char sect[4];
    int i = 0;
    int j = 0;
    while (scanf("%s", bin) != EOF) {
        while(i < 16) {
            while(j < 4) {
                sect[j] = bin[i];
                j++;
                i++;
                if (j == 4) {
                    sect[4] = '\0';
                }
            }
            if( sect == "1001" ) {
                printf("9");
            }
            j = 0;
        }
    }
}

0 个答案:

没有答案