Interview Questions

Why can't I do something like this?

C Interview Questions and Answers


(Continued from previous question...)

Why can't I do something like this?

Q: Why can't I do something like this?
extern char *getpass();
char str[10];
str = getpass("Enter password: ");

A: Arrays are ``second-class citizens'' in C; one upshot of this prejudice is that you cannot assign to them . When you need to copy the contents of one array to another, you must do so explicitly. In the case of char arrays, the strcpy routine is usually appropriate:
strcpy(str, getpass("Enter password: "));
(When you want to pass arrays around without copying them, you can use pointers and simple assignment.

(Continued on next question...)

Other Interview Questions