我是C编程的菜鸟(我来自JS和PHP的土地),作为一个学习练习,我试图编写一个程序,询问用户的名字,然后将其打印出来,除了更改第一封信给z.但是,当我去编译代码时,它返回了error引用该行的以下消息name[0] = "Z";
警告:赋值从指针生成整数而没有强制转换
有没有理由我不能为一个特定的索引赋值char array?
(注意:我已经尝试过将类型转换"Z"为char,但它只是扔掉了error
警告:从指针强制转换为不同大小的整数`)
与某些不区分字符串和字符的语言不同,C需要不同的字符语法(相对于单字符字符串).
你需要使用单引号:
name[0] = 'Z';
Run Code Online (Sandbox Code Playgroud)
但错误很神秘.它试图说"Z",单字符C字符串被赋值为name[0]一个整数类型char.C字符串是数组; 数组可以转换为指针.因此,C将其视为指向int的赋值而没有强制转换.