2

如果第一个参数的第一个字符 == "-" 则输入 if 语句。我得到的错误是“传递'strcmp'的参数1使指针从整数而不进行强制转换”我也用fgetc试过这个,写得有点不同,但仍然得到这个错误。如果我施放它,我会得到一个核心转储。如果参数包含破折号,它将在同一参数中后跟数字,因此我不能只将 argv[1] 视为单个字符,如果可以的话,条件将非常简单:if (strcmp(argv[1], "-")==0)

功能

int main (int argc, const char *argv[]){
    const char *test = argv[1];
    if (strcmp(test[0],"-")==0)
        {
          printf("saw there was a dash");
        }
    return 0;}

谢谢您的帮助

4

1 回答 1

7

strcmp()就是比较字符串,也就是以null结尾的char数组。但是在这里你比较两个char,这会做:

if (test[0] == '-')

请注意 中的单引号'-',这是char文字。

于 2014-02-24T02:54:42.850 回答