SkyKnight
01-21-2010, 03:08 PM
Hi,
#include<stdio.h>
struct an
{
int num;
char name[256];
}a;
char *match = "This is a test: 10 ok";
int main(void) {
sscanf(match, "This is a test: %d %s", &a.num, &a.name);
printf("%d\n%s\n", a.num, a.name);
return 0;
}
When I run this program I am getting warnings as
t1.c: In function ‘main’:
t1.c:13: warning: format ‘%s’ expects type ‘char *’, but argument 4 has type ‘char (*)[256]’
Why I am getting this error, I tried by removing the variable name length, it causes warning in printf statement, what causing this and how to clear this warning?
Note: I am using gcc
Thanks in advance,
Alagunambi Welkin
#include<stdio.h>
struct an
{
int num;
char name[256];
}a;
char *match = "This is a test: 10 ok";
int main(void) {
sscanf(match, "This is a test: %d %s", &a.num, &a.name);
printf("%d\n%s\n", a.num, a.name);
return 0;
}
When I run this program I am getting warnings as
t1.c: In function ‘main’:
t1.c:13: warning: format ‘%s’ expects type ‘char *’, but argument 4 has type ‘char (*)[256]’
Why I am getting this error, I tried by removing the variable name length, it causes warning in printf statement, what causing this and how to clear this warning?
Note: I am using gcc
Thanks in advance,
Alagunambi Welkin