饱枪颤神
2021-03-20 12:11
采纳率: 100%
浏览 49

C语言小白求助,在线等大佬帮忙

请问下这代码哪里有错误,还有就是name为什么一定要是指针型

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 开发者小峰 2021-03-20 12:22
    已采纳

    char name;name为字符型,只能存一个字符如boy1.name='A';

    char name[20];name为字符数组,name的值不可变,只能在定义时使用char name[20]="aaa";或者逐个字符赋值name[0]='a';name[1]='a';name[2]='a';或者使用字符串处理函数

    char *name;name为字符指针型,boy1.name="aaa";的意思是将字符串“aaa”的首字符地址赋值给boy1.name

    点赞 评论
  • 四海一叶秋 2021-03-20 14:01

    这种问题最好把代码粘贴出来,不要给图片。

    另外你printf("%c",boy1.name);打印的是字符串指针name的低位字节,如name=0x7f6cd0,打印的是ascii码0xd0。

    %c改成%s才是打印name指向的字符串。

    点赞 评论
  • 日月星河XUED 2021-03-20 20:29

    char是字符类型,变量只能装一个字符,要用字符数组

    点赞 评论

相关推荐 更多相似问题