English 中文(简体)
能够比较一个动力吗?
原标题:Can t compare argv?
  • 时间:2010-11-21 17:52:51
  •  标签:
  • c
  • argv

我有这一法典:

if (argv[i] == "-n") 
{
    wait = atoi(argv[i + 1]);
}
else 
{
    printf("bad argument  %s 
",argv[i]);
    exit(0);
}

当该法典执行时,我有以下错误:

否定论点――

我不知道为什么这样做。 谁能解释?

最佳回答

浏览量比较需要C的功能,通常是strcmp() from <string.h>

if (strcmp(argv[i], "-n") == 0) 
{
    wait = atoi(argv[i + 1]);
}
else 
{
    printf("bad argument  %s 
",argv[i]);
    exit(0);
}

<>代码>>功能在以下情况下退回负值(不一定是-1):第一种论点在第二点之前出现;第一种正面价值(不一定是+1)在第二点之后出现;如果两个数值相等,则零。

问题回答

<代码>=的操作者不就座标的内容开展工作,因为斜体是这一应用中有效的特性点,而pointer则比较。

比较显示器的使用内容:strcmpstrncmp

缩略语

使用<代码>strcmp(。

你在这方面真正做的是比较。 argv[i]不是星号,而是记忆中实际星号开始的地点。 斜体。

你对点数进行比较,而不是说明内容。 <代码>argv[i]和>-n>均为两种不同的示意图,储存在两个不同地点,以备记忆中,即使星体内的特性相同。

In C, the operator == compares for equality.

同一数字类型的数值与直截了当的方式(即:2 + 2 = 4是真实的)。

不同类型不同分类的数值(和非计算数字)也有一些换算。 见其他地方。

如果同一地址的点点点相同,点数相同。

固定字面被放在记忆中,不重复任何其他东西;包括不会重复Argv[i]指出的任何东西(i = 0至argc)。

因此,你对两个不平等的点子进行了比较。 页: 1

int equal(char* stringa, char* stringb) {
    while((*stringa) && (*stringb)) {
        if(*stringa!=*stringb)
            return FALSE;
        stringa++;
        stringb++;
    }
    return TRUE;
}

也在为我工作。





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签