char a[7] = {'1','2','3','a','b','c',0};
std::Cout<<"123abc"[3]<<"\n";
输出结果:b
”123abc“就是一个地址 这里输出的就是b 为什么不是b的ascll码值呢62呢?我将数组类型换为int 类型都还是输出b 这是为何呢(求大侠详解)
int b[7] = {'3','2','1','a','b','c',0};
std::cout<<"321abc"[4]<<"\n";
输出结果:b
还有这里涉及到地址 指针是否在这里参与了某种运算呢?
上面的 char a数组该怎样称呼呢 称呼为字符串数组,还是?
c++ 一个字符数组 初始化字符串后
答案:2 悬赏:80 手机版
解决时间 2021-04-05 01:18
- 提问者网友:世勋超人
- 2021-04-04 02:33
最佳答案
- 五星知识达人网友:逃夭
- 2021-02-12 12:14
std::cout << "321abc"[4] << "\n";这样访问相当于数组的,4即是里面的字符串的下标4,即字符b,而不是你说的int类型,要为int类型可以这样std::cout << (int *)"321abce"[4] << "\n"; 结果为62,没有你想的那么复杂
全部回答
- 1楼网友:轻熟杀无赦
- 2020-07-16 20:35
呃。。。楼上的回答。。好像不在点上
如果字符串是指string类,那可以用下面语句执行
char temp[]="hello ";
string str = string(temp);
如果我答不到点上那请补充下问题咯
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯