warning: int format, pointer arg (arg 2)

i have no pointers this function :(

main..
functions....
functions.

int test(char num)
{
 int total[SIZE];

 printf("%d",total); fflush(stdout);              //no pointers

 return 0;
}

Recommended Answers

All 3 Replies

Well, I assume this is a compiler warning. Post the rest of your code.

ah i see the problem

Since the OP found the problem but didn't explain what happened for readers of this thread, allow me:

int total[SIZE];
printf("%d",total);

The %d specifier expects an integer value, yet an unadorned total is equivalent to &total[0]. Thus the argument tied to %d is a pointer to int rather than an int, and the compiler is warning that it's probably not what the programmer wanted.

The total array was also not initialized, so trying to print any of it's elements is undefined behavior. Perhaps the OP wanted scanf() instead of printf(), but that's not a safe bet due to the use of fflush(stdout).

All in all, I'm not sure what the purpose of this function is, and that information is necessary to truly fix the problems.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.