如何打印输入的第一个数字?

时间:2016-11-08 16:03:50

标签: c++ arrays

int main()
{
    int i;
    float number[6];
    for (i=0; i<=2; i++) {
        printf("write number %i\n", i+1);
        scanf("%i",&number[i]);
    }
    printf ("the first number you wrote: %i", number[1]);
    return 0;
}

我无法理解如何在索引变量中打印出第一个数字。答案始终为0,如果我输入number[1]number[5],则输出始终为0

1 个答案:

答案 0 :(得分:1)

  

当我打印出第一个数字时,我不知道写什么,答案总是为0。

但是从这个声明可以清楚地看出你没有打印输入的第一个号码

printf ("the first number you wrote: %i", number[1]);

由于number[1]是指您输入的第二个数字,请尝试使用number[0]代替number[1]

printf ("the first number you wrote: %i", number[0]);

除上述内容外,还有一个问题。您在floatscanf()语句<{1}} <{1}}中使用了错误的格式说明符 < / p>

在扫描或打印printf时使用%ffloat用于%i

通常使用错误的格式说明符导致未定义的行为,请看一下: What can happen if printf is called with a wrong format string?

此外,请尝试避免使用intprintf(),并使用其他人指出的scanf()std::cout