它总是提示“代码永远不会被执行”

时间:2015-12-06 06:33:05

标签: c++

这是我的C ++代码:

#include <stdio.h>

int main ()
{
    int n, ip1, ip2, ip3, ip4, port;
    unsigned ip;
    char str [80];
    printf ("Enter IPv4 address: ");
    scanf ("%79s",str);

    n = sscanf(str, "%3d.%3d.%3d.%3d:%5d", &ip1, &ip2, &ip3, &ip4, &port);
    printf ("Content length is %d\r\n", n);
    if (n != 4 || n != 5) {
        ip = 0;
        port = 161;
    }
    else if (n==4) {
        port = 161;
    }
    ip =(ip1 << 24) + (ip2 << 16) + (ip3 << 8) + ip4;
    printf ("ip addr is %d , port is %d \r\n", ip, port);
}

但是xcode总是提示我:

else if (n==4) 

永远不会被执行,确实发生了。 条件应该如何?

2 个答案:

答案 0 :(得分:3)

请注意(n != 4 || n != 5) = true

答案 1 :(得分:2)

您可能需要if (n != 4 && n != 5),因为如果您使用||,那么n将不是4或不是5。