int main()
{
charactername = "tom";
characterage=78;
printf("his name is %s\n", charactername);
printf("his age is %d\n", characterage);
characterage=78;
charactername = "John";
printf("his name changed to %s\n", charactername);
printf("his age changed to %d\n", characterage);
return 0;
}
когда я меняю имя персонажа между кодом, код не запускается, тогда как если я только изменяю возраст, код работает отлично, почему я не могу изменить переменную символа, но я могу изменить возраст символов?? (на языке c )
Похоже, вам не хватает кода или некоторых типов для ваших переменных. Во-вторых, как это скомпилировано?





Две вещи:
В свой код нужно внести некоторые изменения (отмечены в комментариях ниже)
#include <stdio.h>
#include <string.h>
// header files are needed
#define ARRSIZ 64 // choose any size you like
int main(void) // proper signature
{
char charactername[ARRSIZ] = "tom"; //define a char array and initialize it.
int characterage=78; // type is a must
printf("his name is %s\n", charactername);
printf("his age is %d\n", characterage);
characterage=78; // this is fine, only assignment
strcpy(charactername,"John"); // use strcpy to copy to an array
printf("his name changed to %s\n", charactername);
printf("his age changed to %d\n", characterage);
return 0;
}
Это неправильно по очень многим причинам. Как это компилировалось?