• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 299
  • Last Modified:

quick syntax fix needed

There's something very wrong with this function...month and day aren't being changed, and I can't figure out why! Also, I'm trying to check for bad data (also wanted to check to see if its valid at all, but that didn't quite work).  I put into /* to isolate the other problem, but I would like this fixed too.void getdata(int *month, int *day)

        {


        printf("Please enter the month and day in the format mm/dd.");

        scanf("%d/%d", *month, *day);

        /* while(*month>12||*month<1||*day<1||*day>31)
                {
                printf("\nInput is incorrect. Please reenter:");
                scanf("%d/%d", *month, *day);
                } */
        }                    

0
SaraBiz
Asked:
SaraBiz
1 Solution
 
SaraBizAuthor Commented:
Sorry, forgot to add this part...


int main(void)

        {
        int month=0, day=0;

        getdata(&month, &day);
        printf("%d, %d", month, day);
        }        

0
 
meerakCommented:
The problem is the parameter to the routine scanf. It
should be
scanf("%d/%d", month, day); .

A "*" should not be present. Parameters should be passed by
reference to the scanf funtion.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Choose an Exciting Career in Cybersecurity

Help prevent cyber-threats and provide solutions to safeguard our global digital economy. Earn your MS in Cybersecurity. WGU’s MSCSIA degree program was designed in collaboration with national intelligence organizations and IT industry leaders.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now