|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我好奇的是为啥这个strlen函数不可以这样写?代码如下:
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- char name[100];
- name[100] = "love";
-
- printf("%d",strlen(name));
- return 0;
- }
复制代码
出错提示:赋值使整数从指针没有强制转换
warning: assignment makes integer from pointer without a cast
然后这样写又对了ovo
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- char name[100] = "love";
-
-
- printf("%d",strlen(name));
- return 0;
- }
复制代码
//主要是没搞懂错误提示的意思
本帖最后由 sunrise085 于 2020-9-11 21:19 编辑
这个错误与strlen无关。。。。。
是因为你定义的是name[100],但是后面却给name[100]赋值,定义数组长度为100,那么下标是 0~99,你写的赋值语句是name[100],就会报错说该指针地址未定义
另外nema[0]~name[99]是100个char类型变量,只能用一个字符变量为其赋值,
name[100]="love" 本身也有问题啊。怎么能把一个字符串赋值给一个字符变量呢
|
|