我试图在C中为String赋值,但对我来说它不起作用...... 这就是我试图做的事情:
#include <stdio.h>
#include <string.h>
int main()
{
char k[25];
k == "Dennis"
printf("My Name is %s", k);
}
示例输出将是:我的名字是丹尼斯
但是,我收到一个警告: 警告:不同指针类型的比较缺少一个演员k ==&#34; Dennis&#34 ;;
我试图在这个网站上找到一个解决方案,但找不到一个,在C中为char数组(字符串)赋值的同样错误
还尝试将我的char初始化为
char *k[25];
仍然没有工作......
答案 0 :(得分:2)
您确实在这里进行比较:k = "Dennis";
。所以编译器会正确警告你。
您可能意味着char k[25] = "Dennis";
(修复了那里缺少的分号)。但那也不会奏效。因为在C数组中不是可修改的左值。
所以你可以初始化数组:
strcpy
或使用strcpy(k, "Dennis");
复制:
char *k;
k = "Dennis";
printf("My Name is %s", k);
如果您实际上不需要数组,则只需使用指向字符串文字的指针即可。以下是有效的:
{{1}}