如果我将一个字符输入到动态/静态分配的双数组中会发生什么?

时间:2017-03-01 08:57:47

标签: c++ c arrays

现在我正在使用动态分配的双数组。如何检查是否有人输入了角色?

double* scanarray(int length)
{
    double* arr;
    arr = (double*)malloc(sizeof(double)*length);
    printf("Enter %d real numbers: \n", length);
    for (int loop = 0; loop < length; loop++)
        scanf_s("%lf", &arr[loop]);
    return arr;
}

1 个答案:

答案 0 :(得分:2)

您可以查看scanf的返回值(以及scanf_s等相关函数):

  

返回值

     

其中每个函数都会返回的字段数   成功转换和分配;返回值不包括   已读但未分配的字段。返回值为0表示   没有分配任何字段。对于错误或,返回值为EOF   如果在第一次转换之前到达字符串的结尾。

https://msdn.microsoft.com/en-us/library/t6z7bya3.aspx