scanf()函数不起作用?

时间:2015-12-15 20:33:08

标签: c struct scanf

我用其他函数编写基本结构。但我错了。

printf("\nPlease Enter New Salary: ");
scanf("%lf",A[i].salary);

但是scanf不起作用? 怎么办呢?

1 个答案:

答案 0 :(得分:1)

scanf函数需要一个指向double的指针作为"%lf"格式说明符的参数。您改为传递A[i].salary

的值

您没有发布A的定义,如果它是一个数组或指向成员salarydouble的结构数组的指针,您可以获得正确的行为写作:

if (scanf("%lf", &A[i].salary) == 1) {
    /* value was converted properly */
} else {
    /* input stream cannot be parsed as a double */
}

您应该将环境配置为在启用了额外警告的情况下进行编译:例如gcc -Wall -Wextra -Werrorclang -Weverything -Werror会对此类错误产生诊断并且编译将失败。