首页 文章

在循环中将char与int进行比较

提问于
浏览
0

我的程序正在进行一个论证,说明应该使用多少打印件 . 参数的例子:打印2.然后我想在打印后循环遍历值,数字2.然后多次打印 . 我试过这样的:

for(i = 0; i < argv[2]; i++)
{
     ....

问题是argv是一个char而我是一个int . 所以当我运行这个循环时,argv [2]获取值:123123123或者其他东西,而不仅仅是2.有没有办法解决这个问题,或者将char中的值与int进行比较 . 提前致谢

2 回答

  • 3

    argv [2]是 char* 而不是 char . argv [2]指向一个字符串(空终止字符数组) . 将参数传递给程序时,参数采用该形式 .

    你将不得不转换它,你可以使用atoi();

  • 0

    argv[2]char* ,是C语言的字符串,如果要将其更改为int,则必须将其转换 . 将String转换为int . 这是一个例子:

    int atoi(char *str){//Just suit for int
        int ans = 0,i=0;
        while(str[i]){
            ans = ans*10 + (str[i]-'0');
            i++;
        }
        return ans;
    }
    

    你可以这样称呼 atoi(argv[2]);

相关问题