加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 订阅字符串文字

发布时间:2020-12-16 10:09:39 所属栏目:百科 来源:网络整理
导读:订阅字母数字是一种常见/有效的技术吗?什么是隐含的转换? example: #include iostreamusing namespace std;int main() { int k(2); cout "Hello"[k] endl; cout (k-1)["Hello"] endl; // your code goes here return 0;} 解决方法 当然,写作没有意义 cout
订阅字母数字是一种常见/有效的技术吗?什么是隐含的转换? example:

#include <iostream>
using namespace std;

int main() 
{
    int k(2);
    cout << "Hello"[k] << endl;
    cout << (k-1)["Hello"] << endl;
    // your code goes here
    return 0;
}

解决方法

当然,写作没有意义

cout<< “你好”[0]<< ENDL; 而不是简单 cout<< 'H'<< ENDL; 但有时会有一些东西

#define Hello "Hello"

在某些(特别是C)课程中.

在这种情况下,写一些感觉

cout<<你好[0]<< ENDL; 然而,定义会好得多

const char *Hello = "Hello";

要么

const char Hello[] = "Hello";

两者之间没有区别

"Hello"[0]

0["Hello"]

因为根据C标准

The expression E1[E2] is identical (by definition) to *((E1)+(E2))

然而,第二条记录只会使读者感到困惑.

至于转换,那么具有类型const char [6]的字符串文字“Hello”的左值将转换为类型const char *.然后使用指针算法计算表达式*((E1)(E2)).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读