c - How to compare pointer and integer? -


this question has answer here:

i'm trying check if pointer pointing @ char.

like this:

#include<stdio.h> #include<string.h> #define 3 int func(char *); int main() { char *s="a"; int type; type=func(s); printf("%d",type);      return 0; } int func(char *s) { int type; if(*s=="a")  { type=1; } return type;  } 

but warning: warning: comparison between pointer , integer if(*s=="a")

is possible compare pointer , integers?

is there way resolve problem?

can find out @ letter pointing *s without printing it?

"a" not character, string literal. 'a' character literal, looking here.

also note in comparison *s == "a" "a" pointer, , *s integer... * dereferences s, results in char (an integer) stored @ address pointed s. string literal, however, acts pointer first character of string "a".

furthermore, if fix comparison changing *s == 'a', checking whether first character of s 'a'. if wish compare strings, see strcmp.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -