こんにちは、誰でも私はprintfの機能に何が起こっているのか教えていただけますか? 、フォーマット '%i' は、引数の型の「int型見込んが、引数2 は 'CHAR *' [-Wformat =] time2.hour型を持つ、time2.min:私はprintf関数とあまりにも多くの引数に構造体メンバを入力するエラー
警告のエラーを取得しておきますtime2.sec、 time3.hour、time3.min、time3.sec);
、その後
警告:[-Wformat-超引数]形式の引数が多すぎ
誰もが解決する方法についてのいくつかのポインタを与えますか?あなたが長いprintf文で2つの文字列リテラルを持っているように感謝
#include <stdio.h>
struct time
{
int hour;
int min;
int sec;
};
int main (void)
{
struct time time1, time2, time3;
struct time elapsed_time (struct time time1, struct time time2);
printf("Enter your first time (hh:mm:ss) : ");
scanf ("%i:%i:%i", &time1.hour, &time1.min, &time1.sec);
printf("Enter your second time (hh:mm:ss) : ");
scanf ("%i:%i:%i", &time2.hour, &time2.min, &time2.sec);
time3 = elapsed_time(time1,time2);
printf("The time difference between %.2i:%.2i:%.2i & %.2i:%.2i:%.2i",
"is %.2i:%.2i:%.2i.\n", time1.hour, time1.min, time1.sec,
time2.hour, time2.min, time2.sec, time3.hour, time3.min, time3.sec);
return 0;
}
struct time elapsed_time (struct time time1, struct time time2)
{
struct time time3 = { 0, 0, 0 };
time3.hour = time2.hour - time1.hour;
time3.min = time2.min - time1.min;
time3.sec = time2.sec - time1.sec;
return time3;
}
2つの文字列リテラルを連結したい場合は、それらの間に '、'を入れないでください。 – EOF
あなたはすでにあまりにも**ポインタ**を持っていると思います。もう少し与える必要はありません... – Olaf