S.S S.S - 1 month ago 27
C Question

Too many arguments for format

#include <stdio.h>#include <stdlib.h>int main(){
int m,g,flag=0;
printf("Unesite mjesec i godinu (mjesec se unosi kao broj od 1 do 12):\n");
scanf("%d%d",&m,&g);
if (((g%4==0)&&(g%100!=0))||(g%400==0)) flag=1;
if (flag==0)
{
switch(m)
{
case 1:
printf("Mjesec januar %d",g,". godine ima 31 dan.");break;
case 2:
printf("Mjesec februar %d",g,". godine ima 28 dana.");break;
case 3:
printf("Mjesec mart %d",g,". godine ima 31 dan.");break;
case 4:
printf("Mjesec april %d",g,". godine ima 30 dana.");break;
case 5:
printf("Mjesec maj %d",g,". godine ima 31 dan.");break;
case 6:
printf("Mjesec jun %d",g,". godine ima 30 dana.");break;
case 7:
printf("Mjesec jul %d",g,". godine ima 31 dan.");break;
case 8:
printf("Mjesec avgust %d",g,". godine ima 31 dan.");break;
case 9:
printf("Mjesec septembar %d",g,". godine ima 30 dana.");break;
case 10:
printf("Mjesec oktobar %d",g,". godine ima 31 dan.");break;
case 11:
printf("Mjesec novembar %d",g,". godine ima 30 dana.");break;
case 12:
printf("Mjesec decembar %d",g,". godine ima 31 dan.");break;
}
}
else
{
switch(m)
{
case 1:
printf("Mjesec januar %d",g,". godine ima 31 dan.");break;
case 2:
printf("Mjesec februar %d",g,". godine ima 29 dana.");break;
case 3:
printf("Mjesec mart %d",g,". godine ima 31 dan.");break;
case 4:
printf("Mjesec april %d",g,". godine ima 30 dana.");break;
case 5:
printf("Mjesec maj %d",g,". godine ima 31 dan.");break;
case 6:
printf("Mjesec jun %d",g,". godine ima 30 dana.");break;
case 7:
printf("Mjesec jul %d",g,". godine ima 31 dan.");break;
case 8:
printf("Mjesec avgust %d",g,". godine ima 31 dan.");break;
case 9:
printf("Mjesec septembar %d",g,". godine ima 30 dana.");break;
case 10:
printf("Mjesec oktobar %d",g,". godine ima 31 dan.");break;
case 11:
printf("Mjesec novembar %d",g,". godine ima 30 dana.");break;
case 12:
printf("Mjesec decembar %d",g,". godine ima 31 dan.");break;
}
}
return 0;
}


Can you help me? I don't understand where is error with my code. The compiler writing the message:


"warning:too many arguments for format".


I think that printf isn't correct but I don't know why..

Answer
printf("Mjesec januar %d",g,". godine ima 31 dan.")

You have one formatting string "%d", but two arguments "g" and ". godine ima 31 dan."

This looks much like php string concatenation. What you probably want is

printf("Mjesec januar %d godine ima 31 dan.", g);