今夜校园

#牛客创作赏金赛#
今晚因考试,又少上一天晚自修
开卷考大数据导论,考题不是很难,但书上写的基本上都看不懂
考完后炫了碗烤鸭饭,可能是快收摊了,给的鸭肉格外的多
每天不写点什么总觉得有些难受
正好今天学了些字符串函数,想写点抽象代码

#include <cstdio>
#include <cstring>

int main()
{

//字符串常量给字符数组赋初值
char c1[] = &quot;China&quot;;    //结尾'\0'用来结束循环
char c2[] = { &quot;China&quot; };
char ch1[] = { 'C','h','i','n','a' };
char ch2[5] = { 'C','h','i','n','a' };
char c3[10] = &quot;China&quot;;

//c3=c1   //数组名为常量

//不能用关系运算符直接比较字符串

//字符串函数
//strlen(字符串)   //求净长度
cout << strlen(c1) << endl;      //5
//cout << strlen(ch1) << endl;     //73
//cout << strlen(ch2) << endl;     //41
cout << strlen(c3) << endl;     //5
}
可见用strlen()不可求字符数组的长度,所以为什么会输出这些呢,甚至改个变量名,输出就会变
这些问题还是太深奥了,今天就学到这里吧

Hold it!  我的选择是...
就是你了,sizeof()!

#include <cstdio>

int l;
l = sizeof(ch1) / sizeof(ch1[0]);
cout <<l<<endl;    //5

那么可以用sizeof()求字符串的长度吗?
l = sizeof(c1) / sizeof(c1[0]);
cout << l << endl;       //6
果然是6呢
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务