鱼冰鱼冰鱼 2022-10-16 22:26 采纳率: 0%
浏览 10

为什么用DEVC++出来的结果和VScode的结果这么不同

include <string.h>

int main()
{
char arr1[] = "abc";
char arr2[] = {'a','b','c'};
printf("%d\n",strlen(arr1));
printf("%d\n",strlen(arr2));
return 0;
}
用的是Dev c++为啥最终输出的是3,6呀,如果把 char arr2[] = {'a','b','c'};改成char arr2[] = {'a','b','c',0;就出现了3,3,他们说的随机值是vscode单独的吗?还是我拼写错误?

  • 写回答

1条回答 默认 最新

  • 浪客 2022-10-16 22:44
    关注

    strlen(arr2)里的arr2算不上一个字符串,没有0终止,
    函数中会一直遍历,直到遇到0,因此这个函数的返回值是不确定的。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月16日

悬赏问题

  • ¥15 egg异步请求返回404的问题
  • ¥20 Ti毫米波雷达板同步
  • ¥15 安装了kali后用VM打开,没有鼠标且无法控制怎么办啊
  • ¥15 关于#python#的问题:无功优化问题数学建模要以3机9节点为算例编写一个以最小有功网损为目标的无功优化问题,想要了解清楚其中数学建模的具体公式进行学习
  • ¥15 mvc采用element分页的问题
  • ¥15 proteus怎样构建他励直流发电机模型?
  • ¥15 求制作PPT有偿,帮
  • ¥20 显示在此环境中不可导入Django
  • ¥15 关于#前端#的问题:选中后合计金额没变化,另外想要传递minsuId值到下一个页面会报错(语言-javascript)
  • ¥15 cesium双面渲染