int main()
{
charactername="tom";
characterage=78;
printf("his name is %sn", charactername);
printf("his age is %dn", characterage);
characterage=78;
charactername="John";
printf("his name changed to %sn", charactername);
printf("his age changed to %dn", 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 %sn", charactername);
printf("his age is %dn", characterage);
characterage=78; // this is fine, only assignment
strcpy(charactername,"John"); // use strcpy to copy to an array
printf("his name changed to %sn", charactername);
printf("his age changed to %dn", characterage);
return 0;
}