所以我有以下代码:
void Start(int &year, string &mon, char &nyd)
{
printf("%s", mon);
int month= atoi(mon.c_str());
printf("%i", month);
}
当传入参数为“03”(第一个 printf 显示 03)时,我得到 0 表示月份。
但是,如果我添加这一行
mon = "03";
我得到了 3 个月,这是正确的。
为什么......????
编辑:我想通了。你们是对的。不要使用 scanf 进行字符串输入。