【问题标题】:C language, changing char variables [closed]C语言,改变char变量
【发布时间】:2021-03-26 21:05:05
【问题描述】:
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语言)

【问题讨论】:

  • 这是错误的,原因有很多。这是怎么编译的?
  • 您的变量似乎缺少某些代码或某些类型。其次,这是如何编译的?

标签: c variables integer character


【解决方案1】:

两件事:

  1. 您必须定义变量的类型。
  2. 无法分配数组。

在您的代码中,您需要进行一些更改(在下面的 cmets 中标记)

#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;
}

【讨论】:

    猜你喜欢
    • 2022-11-27
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 2011-09-23
    相关资源
    最近更新 更多