/* written by izumi@ieee.org, 19-Jan-2010 文字、文字列、ポインタの違いの考察 問題:次のプログラムを実行したらどうなるか。それは何故か。 */ #include #include int main(void) { char x[]="Ritsumeikan", y[]="Ritsumeikan", z[]="Rikougakubu"; char *a, *b, *c, *d; a = x; b = x; c = y; d = z; if ( a == b) printf(" a == b\n"); if ( a == c) printf(" a == c\n"); if ( a == d) printf(" a == d\n"); if (*a == *b) printf("*a == *b\n"); if (*a == *c) printf("*a == *c\n"); if (*a == *d) printf("*a == *d\n"); if (strcmp(a,b)==0) printf("strcmp(a,b)==0\n"); if (strcmp(a,c)==0) printf("strcmp(a,c)==0\n"); if (strcmp(a,d)==0) printf("strcmp(a,d)==0\n"); return 0; }