"%d将其余的输入转换为整数 "是什么意思?

问题描述 投票:0回答:1

请看这个答案

除了最后一句话,我明白了。

转换指定符"%d "跳过了可选的前导空格,并(尝试)将输入的其余部分转换为整数(如果没有发生错误)。

我理解了关于"%d "的观点。可选空格. 但是,什么是 "将输入的其余部分转换为整数" 是什么意思?我的意思是,如果输入本身是一个整数,它为什么要把输入转换成整数?

c integer whitespace conversion-specifier
1个回答
0
投票

输入本身是一个整数吗?

不是,从键盘输入的是字符串(ascii),所以scanf将其转换为整数并存储在变量中。

请看这个。

#include <stdio.h>

int main()
{
    char cnum[] = "123";
    int  num = 0;

    int i=0;
    while(cnum[i])
    {
        num*=10;
        num+= cnum[i]-'0';
        i++;
    }

    printf("%d",num);  //This also converts int to string to print

    return 0;
}

谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.