だから私は次のコードを持っています:
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 を使用しないでください。