小编Blo*_*ary的帖子

带有getopt()的if语句中的C中的true和false

当我使用argv和getopt时,我很难理解"if语句"是如何真实和错误的.

这是简单的代码:

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char *argv[]) {
        int opt;

while ((opt = getopt (argc, argv, "i:l:")) != -1)
        switch (opt) {
        case 'i':
                printf("This is option i");           
                break;
        case 'l':
                printf("This is option l");
                break;
        default:
                fprintf(stderr,"Usage: %s here goes usage\n",argv[0]); 
    }

if (argc == 1) {
    printf("Without options");
}

if ((argc == 2) && (argv[1] != "-l") || (argv[1] != "-i")) {
    printf("Without option -l or -i but with other argument \n"); …
Run Code Online (Sandbox Code Playgroud)

c unix if-statement getopts argv

1
推荐指数
1
解决办法
77
查看次数

标签 统计

argv ×1

c ×1

getopts ×1

if-statement ×1

unix ×1