strlen(一个没有初始化的字符数组)

更新时间:2023-05-03 04:37:05 阅读: 评论:0

strlen(⼀个没有初始化的字符数组)
#include<stdio.h>
#include<string.h>
int main(void){ char aa[10];    printf("%d",strlen(aa)); return 0;}
因为你没有对数组进⾏初始化啊,所以数组中每⼀项是⼀个随机值,编译器会在数组末尾往后第n个地址的值初始化为\0,n的值看编译器⽽定,所以,如果你定义aa[1],在vc6上,会在a[0]后的第七个字节变成\0,如果是10,那就是a[9]后⾯第五个,所以你输出会是15,我想这个也是为了预防内存的⾮法访问⽽做的编译器优化吧
你参考下我写的测试代码就知道了
#include <stdio.h>
int main(void)
{        int n=8;
char aa[2];
for(int i=0;简答题题库 i<n;i++)
printf("%d\n",aa[i]);
return 0;
} //aa数组的长度越⼤,n也就把它设得越⼤
不同的编译器也可能导致n的值不⼀样
阿朗的名人励志名言 ⼀道笔试题
void main()
{
int i;
//characNew[20]={0,0,0,0,鸭肉煲汤放什么材料好 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
/
/strlen(acNew)输出结果10
char acNew[20];
//strlen(acNew)输出结果是29
for(i=0;i<10;i++)
{
acNew='0';
}
printf("%d\n",s隋文帝杨坚 trlen鸢尾花英文 (acNew));
return ;
}
6、void PrintBlue()
{
charpcBlue[]={'b哄女朋友开心的话道歉 ','l','u','e'};
printf("%s",pcBlue);
return 0;
}正确的是
A、pcBlue数组初始化时没有字符串结束符
B、数组pcBlue定义时必须指定长度
strlen是

本文发布于:2023-05-03 04:37:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/519957.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数组   编译器   没有   内存   字节
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图