【发布时间】:2019-07-13 23:16:31
【问题描述】:
在第一个循环之后,迭代忽略“员工姓名#:”并跳转到“员工的小时费率:”和“工作时间:”循环的其余部分,直到它完成。在“For Loop”中添加“Float”数组后问题就开始了。
这是我得到的输出:
员工 1 的姓名:Alex 员工时薪:9.00 工作时间:8
员工 2 的姓名:员工的时薪:9.50 工作时间:8
员工 3 的姓名:员工的时薪:10.00 工作时间:8
等等……
#include <stdio.h>
int main()
{ int i;
char empNames[5][32];
float empRates[5][10];
float empHours[5][10];
for (i = 0; i < 5; i++)
{
printf("Name of employee %d: ", i+1);
gets(empNames[i]);
printf("Employee's hourly rate: ");
scanf_s("%f", &empRates);//squiggly green line
printf("Hours Worked: ");
scanf_s("%f", &empHours);//squiggly green line
}
}
错误: - 警告 C4477 'scanf_s':格式字符串 '%f' 需要类型为“float ”的参数,但可变参数 1 的类型为“float ()[5][10]”。
-警告 C6272 当调用“scanf_s”时需要浮点时,非浮点作为参数“2”传递实际类型:“浮点 [5][10]”。
-警告 C4013 'gets' 未定义;假设 extern 返回 int。
【问题讨论】:
标签: c arrays loops for-loop floating-point