关于strlen的问题,想不通为什么
因此,如果 `name` 数组未经初始化,`letters` 的值将是随机的,因为它取决于 `name` 数组中实际存储的字符数量。(2)size = sizeof(name); \/\/letters = strlen(name);size值会是40 ,而letters将是随机的,因为strlen函数计算字符串的长度时是以'\\0'为结束的,也就是不管name数组有多长,...
关于strlen的问题,想不通为什么
char name[40];定以后没有初始化,刚申请到的40个空间里其实是有数据的,所以用strlen会得到错误的数据,而且不一定是45 你可以手动设置name[0]='\\0'或者全部赋值0;
c++中 strlen() 计算数组长度怎么会出错:很奇怪!!! 请看例子: 如 输 ...
这个问题出现的主要原因是你对strlen这个函数不理解,这个函数的工作原理是从key的key[0]开始到遇到第一个'\\0'字符位置为止,算作这个字符数组的长度,而你不加'\\0'则它会找到k[12]以后的'\\0',你可以做这样一个实验,在key的其他位置设置'\\0',比如key[6]位置,那么strlen(key)之后的值会是7...
请教大家一个strlen函数的问题
出这道题目的人水平太差了,多办是半路出家的,非常不专业,你的分析是有道理的。可能出题人只用过TURBO C,因为只有TURBO C这样的小程序才喜欢画蛇添足,自动添加结束符,所以长度会都是3。TURBO C自动添加结束符的做法是不规范的,C语言定义并没有这样规定编译器的行为,我们写程序切记千万别依赖这...
关于strlen()函数的问题
字符串的最后一个是\\0; strlen就是从指定位置开始,过了多少个读到0,就是几。s+1 在这里是将s的位置往后面挪一个,起始位置往后了,自然少读一个就到0了。
C++关于strlen的问题,大数加法一小部分
代码错误有:进位处理不问题——不能把进位加到低位上去,应该加到高位上去,c[i-1]+=1;才对吧!你处理完之后没有再变成“字符”,单元里全是整型数。没有在结尾处加'\\0'表示字符串(就是计算结果)结束。2、3导致了strlen(c)计算不准了,因为c[]里既不是字符又没有确定的结束符。
strlen的问题...
strlen是求字符串长度……另外你的aa数组未经初始化,这样求出来的strlen是错误的 sizeof(aa)输出就是10了
strlen()函数取字符串长度问题,匪夷所思~~~求高手指点
char b[]={'a'};只会为b分配一个char的空间,后面的内容是不可预知的,所以'\\0'可能会出现在后面的任何一个位置,而strlen()函数又是以'\\0'为标志来统计的。所以这样输出的数字无法预知。
关于strlen函数的问题!
因为用strlen这样测出的总是内存中s直到第一个'\\0'的字节数,将char s[30];改成 char s[30]={0};再看看结果如何
关于c语言中strlen的问题
C里面不能动态定义数组,数组的大小必须是编译时可知的,不能是在程序运行时才可知的;如果需要动态分配,则使用malloc