我正在做CS50课程中的一个问题集,在这个问题中,argc需要是2。我做了这个:
#include <cs50.h>
#include <stdio.h>
int main (int argc, string argv [])
{
if ( argc != 2){
printf ("Retry\n");
return 1;
} else {
int x = atoi(argv [1]);
string a = get_string ("Enter plaintext: ");
printf ("%s", a);
printf ("%d", x);
}
}但是,即使当argc不同于2时,它也会忽略if语句,而转到else语句。
为什么会这样呢?我该如何修复它呢?
发布于 2018-01-11 03:50:33
可以肯定的是,您忘记了该命令本身也被视为shell中的一个参数。换句话说:
> myprog myparam myotherparam有argc == 3,因为myprog是arg
https://stackoverflow.com/questions/48194983
复制相似问题