I have a c code that looks like this:
#include<stdio.h>
main (){
char girl[] = "anna";
char boy[] = "jude";
stringcopy(boy, girl); /* copy boy to girl */
printf("%s", girl);
}
void stringcopy(char *b, char *g){
while ((*g++ = *b++) != '\0')
;
}
It prints fine...
However if I replace the stringcopy call arguments with "jude", "anna"
it compiles fine but i get segmentation fault when running.
How come printf can accept variable names as well as constant strings such as:
printf ("%s", girl);
and
printf ("Hello World\n");
My stringcopy function only accepts pointers. Shouldn't I be passing pointer to
the first element of "anna" when passing the string constant "anna"?? )
How does printf print a string constant then?
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/