【发布时间】:2021-08-28 20:52:54
【问题描述】:
代码的期望输出是:6.30 1.25 2 14.40 1
printf语句有一些错误,但我找不到。
代码是:
#include<stdio.h>
#define SZ 5
int main(void)
{
int arg1[SZ] = { 3, 4, 7, 2, 9 };
double arg2[SZ] = { 2.1, 3.2, 5.3, 7.2, 8.1 };
char operand[SZ] = { 'm', 'd', 'r', 'm', 'r' };
int i;
for ( i = 0; i < SZ; i++)
{
switch (operand[i])
{
case 'm':
printf("%d ", arg1[i] * arg2[i]);
break;
case 'd':
printf("%d ", arg2[i] / arg1[i]);
break;
case 'r':
printf("%.2lf ", arg1[i] % arg2[i]);
break;
default:
break;
}
}
printf("\n");
return 0;
}
提前致谢。
【问题讨论】:
-
你没有解释一个问题(printf中有一些错误)。有哪些错误?您遇到的具体问题是什么?您已经显示了预期的输出,但没有显示您得到的输出。您的问题标题也没有添加任何信息。
-
@KenWhite 我已经写过期望的输出是 6.30 1.25 2 14.40 1。但是输出不符合预期。
-
好的,那么输出是什么?没有稻草,我们不能做砖。
-
我要求您提供您得到的输出,以便我们知道不符合预期的输出是什么,你还没有提供它。这是您的帖子中缺少的相关细节。
-
你真的应该了解
format specifiers。
标签: arrays c switch-statement output printf