Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                                                                                            
                
        
我正在尝试使用命令行参数来实现atoi函数。我知道之前曾问过这个问题,但没有使用命令行参数。我的代码在下面,它显示了一个垃圾值。

#include<stdio.h>
int main(int argc,char**argv)
{
    int num=0,i,j;
    for(i=0;argv[1][i];i++) //loop upto numm
    {
        num=num*10+argv[1][i]-48; //converting to interger
    }

    printf("%d\n",argv[1]); // why garbage value ?
}

最佳答案

尝试

printf("%d\n",num);


代替

printf("%d\n",argv[1]);


在for循环之后。您的转换是正确的,但最后输出的是错误的内容。

09-05 13:14