Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';m在使用命令行中的参数确定奇数或偶数时遇到困难 #包括 int main(int argc,字符**argv){ 如果(argc%2==0){ printf(“偶数”;} 否则如果(argc%2==1){ printf(“奇数\n”);} 否则{ printf(“错误\n”);} 返回0; }_C - Fatal编程技术网

I';m在使用命令行中的参数确定奇数或偶数时遇到困难 #包括 int main(int argc,字符**argv){ 如果(argc%2==0){ printf(“偶数”;} 否则如果(argc%2==1){ printf(“奇数\n”);} 否则{ printf(“错误\n”);} 返回0; }

I';m在使用命令行中的参数确定奇数或偶数时遇到困难 #包括 int main(int argc,字符**argv){ 如果(argc%2==0){ printf(“偶数”;} 否则如果(argc%2==1){ printf(“奇数\n”);} 否则{ printf(“错误\n”);} 返回0; },c,C,输出总是偶数,但我不知道为什么。argc是传递的参数数。main()函数的第一个参数是程序名本身。因此,首先检查argc以查看是否键入了参数,然后将参数转换为整数(它作为字符串传递),然后进行奇数/偶数测试。注意你只需要做偶数测试,因为如果它不是偶数,那么它一定是奇数 #include<stdio.h> int main(int argc, char** argv){ if ( argc%2 == 0 ){ printf("even\n");} els

输出总是偶数,但我不知道为什么。

argc
是传递的参数数。
main()
函数的第一个参数是程序名本身。因此,首先检查
argc
以查看是否键入了参数,然后将参数转换为整数(它作为字符串传递),然后进行奇数/偶数测试。注意你只需要做偶数测试,因为如果它不是偶数,那么它一定是奇数

#include<stdio.h>
int main(int argc, char** argv){
    if ( argc%2 == 0 ){
        printf("even\n");}
    else if( argc%2 == 1 ){
        printf("odd\n");}
    else{
        printf("error\n");}
    return 0;  
}
#包括
#包括
#包括
int main(int argc,字符**argv){
if(argc<2)//检查参数的数量
printf(“未输入参数”);
else if(!isdigit(argv[1][0])//检查用户arg的第一个字符
printf(“不是数字”);
else if(atoi(argv[1])%2==0)//转换为int并测试
printf(“偶数”);
其他的
printf(“奇数”);
返回0;
}

你传递了什么和多少个参数?
argc
是参数的数量,而不是参数本身。也许使用调试器会有用。我怀疑你在尝试类似
a.out 1
a.out 2
的事情。你在测试错误的论点。用错误的方法。
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main(int argc, char** argv) {
    if (argc < 2)                         // check number of arguments
        printf("No argument entered\n");
    else if (!isdigit(argv[1][0]))        // check first char of user arg
        printf("Not a number\n");
    else if (atoi(argv[1]) % 2 == 0)      // convert to int and test
        printf("Even\n");
    else 
        printf("Odd\n");
    return 0;
}