Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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
C 不使用atoi将字符串转换为整数_C_String_Integer - Fatal编程技术网

C 不使用atoi将字符串转换为整数

C 不使用atoi将字符串转换为整数,c,string,integer,C,String,Integer,如果不使用给定参数中的atoi,如何将字符串转换为整数?以下是我尝试过的: int main(int argc, char *argv[]){ for(int i = 1; i < argc; i++){ const char *p = argv[i]; int j = 0; while(isdigit(*p)){ j = j * 10 + *p - '0'; p++;

如果不使用给定参数中的atoi,如何将字符串转换为整数?以下是我尝试过的:

int main(int argc, char *argv[]){
    for(int i = 1; i < argc; i++){
        const char *p = argv[i];
        int j = 0;
        while(isdigit(*p)){
            j = j * 10 + *p - '0';
            p++;
            printf("%d\n", j);
        }
    }
}

您正在打印所有中间结果。保存打印输出,直到完成while循环

while(isdigit(*p)){
    j = j * 10 + *p - '0';
    p++;
}

printf("%d\n", j);
#包括
#包括
使用名称空间std;
int main()
{
//字符名[1000];
//cin>>名称;
字符名[]=“123456”;
int数据、结果、输出、基础;
//挥发性内特碱基;
//int-Base;
数据=1;结果=0;基=strlen(名称);
而(基数>=1)
{
基地--;
输出=toascii(名称[基])-48;
输出=输出*数据;
结果=结果+输出;
数据=数据*10;
}
std::cout
printf(“%d\n”,j);
移动到while循环之后。
while(isdigit(*p)){
    j = j * 10 + *p - '0';
    p++;
}

printf("%d\n", j);
#include<iostream>
#include<string>

using namespace std;
int main()
{
    //char name[1000];
    //cin>>name;
    char name[]="123456";

    int data, result, output,Base;
    //volatile int Base;
    //int Base;
    data=1; result=0; Base=strlen(name);
    while (Base>= 1)
    {
        Base--;
        output=toascii(name[Base])-48;
        output=output*data;
        result= result+output;
        data=data*10;
    }
    std::cout<<"this is the string you enterd"<<name<<"integer is"<<result;

    return 0;
}