Friday, 14 April 2017

c - Incompatible types in assignment




I am writing some code in C:



int main(){
char guess[15];
guess = helloValidation(*guess);
return 0;
}


And my function is:




char[] helloValidation(char* des) {
do {
printf("Type 'hello' : ");
scanf("%s", &des);
}while (strcmp(des, "hello") != 0);
return des
}



But it is giving me this error:



incompatible types in assignment 

Answer



The guess array is modified by the function itself. You are then trying to reassign the array pointer guess, resulting in an error. Not to mention incorrectly trying to reference *guess or using &des incorrectly. I suggest you read up on C pointer/array concepts.



#include 
#include


char* helloValidation(char* des) {
do {
printf("Type 'hello' : ");
scanf("%s", des);
} while (strcmp(des, "hello") != 0);
return des;
}

int main() {
char guess[15];

helloValidation(guess);
return 0;
}

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...