【发布时间】:2020-01-16 20:39:40
【问题描述】:
输入是月数,两个输出是年和月。如果我输入 18 个月应该给我 第一年 6个月
#include <stdio.h>
int main()
{
int y, m;
printf("Input number of months: ");
scanf_s("%i", &y);
y = (int) y / 12
m = (int)y %;
printf(" %i Year(s) \n %i Month(s)", y, m);
return 0;
}
【问题讨论】:
-
到底是什么问题?你是否试图编译这个确切的代码,用
Int而不是int,用“”而不是"",等等? -
你也少了一个分号,
m = (int) y %;这行是无意义的。这是如何编译的 -
这不会编译吧?在
m = (int)y %;中, % 是一个二元运算符,这意味着它需要两个操作数(在 % 的每一侧都有一个)你真的是说m = (int)y % 12;吗?另外,您不需要任何一种强制转换——整数除法会产生整数结果(mod 也是如此) -
请发布您遇到问题的确切代码。不要尝试重新输入,而是剪切并粘贴实际代码。
-
@JerryJeremiah 它不会根据 C++ 标准编译,只能使用一些编译器扩展(允许使用 C 头文件)。虽然...是的,我不知道有任何编译器不接受 C++ 代码中的 C 头文件
标签: c