user-0 提问: 关于C语言指针用法的问题

回复:
user: user-0
content: 引用 13 楼 lin5161678 的回复:[quote=引用 10 楼 xiao969856 的回复:] [quote=引用 9 楼 lin5161678 的回复:] [quote=引用 8 楼 xiao969856 的回复:] [quote=引用 7 楼 lin5161678 的回复:] 贴错误提示   i[str] 的意思是 str[i] == *(str+i) == *(i+str) == i[str] 无聊的边枝末节  除了卖萌 我没见过其他用处 我重点是想知道cout<<str[i]<<'\n';这句代码的原理和用法，重点是“<<”这个运算符的应用原理，不是下面那段程序，弄明白使用方法我自己就能改[/quote] 哦 看书 重点内容  cin 和 类运算符重载[/quote] 哦哦，谢谢，顺便问一下这是C语言里的还是C++的，能用在Linux编程里吗？[/quote] 这是C++ 当然可以在Linux里面用 只要你有一个C++的编译器[/quote] 谢谢

user: user-1
content: 贴错误提示   i[str] 的意思是 str[i] == *(str+i) == *(i+str) == i[str] 无聊的边枝末节  除了卖萌 我没见过其他用处

user: user-0
content: 引用 5 楼 cfjtaishan 的回复:第一点，应该是使用str[i]输出； 第二点，建议字符串使用strlen(str);如果字符串是char *str = "helloworld";这个程序就不能正常输出了。 另外，cout输出确定是C语言的语法？我咋看着是C++的输出格式呢？还是现在的编译器强大了，混编都可以？！ 应该不是C的，这是在网上找的一段关于指针用法的代码，在Linux上运行没结果没结果所以过来问问，我主要是想问cout<<str[i]<<'\n';这句代码的原理和用法

user: user-1
content: 引用 10 楼 xiao969856 的回复:[quote=引用 9 楼 lin5161678 的回复:] [quote=引用 8 楼 xiao969856 的回复:] [quote=引用 7 楼 lin5161678 的回复:] 贴错误提示   i[str] 的意思是 str[i] == *(str+i) == *(i+str) == i[str] 无聊的边枝末节  除了卖萌 我没见过其他用处 我重点是想知道cout<<str[i]<<'\n';这句代码的原理和用法，重点是“<<”这个运算符的应用原理，不是下面那段程序，弄明白使用方法我自己就能改[/quote] 哦 看书 重点内容  cin 和 类运算符重载[/quote] 哦哦，谢谢，顺便问一下这是C语言里的还是C++的，能用在Linux编程里吗？[/quote] 这是C++ 当然可以在Linux里面用 只要你有一个C++的编译器

user: user-2
content: 第一点，应该是使用str[i]输出； 第二点，建议字符串使用strlen(str);如果字符串是char *str = "helloworld";这个程序就不能正常输出了。 另外，cout输出确定是C语言的语法？我咋看着是C++的输出格式呢？还是现在的编译器强大了，混编都可以？！

user: user-0
content: 引用 3 楼 a393062456 的回复:楼主需要去看C或C++基础 正在学指针这块的内容

user: user-3
content: 楼主需要去看C或C++基础

user: user-0
content: 引用 1 楼 jianwen0529 的回复:改为 cout<<str[i]<<'\n';  str是数组，i是下标索引 并没有效果，没有输出

user: user-0
content: 引用 11 楼 zhao4zhong1 的回复:http://www.cplusplus.com/reference/ostream/ostream/operator-free/index.html 理解和讨论之前请先学会如何观察！  计算机组成原理→DOS命令→汇编语言→C语言（不包括C++）、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言（包括C++）、架构……  对学习编程者的忠告： 多用小脑和手，少用大脑、眼睛和嘴，会更快地学会编程！ 眼过千遍不如手过一遍！ 书看千行不如手敲一行！ 手敲千行不如单步一行！ 单步源代码千行不如单步Debug版对应汇编一行！ 单步Debug版对应汇编千行不如单步Release版对应汇编一行！ 不会单步Release版对应汇编？在你想单步Release版C/C++代码片断的前面临时加一句DebugBreak();重建所有，然后在IDE中运行。（一般人我不告诉他！）  单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后，就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。  VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化，这样过一遍不就啥都明白了吗。 对VC来说，所谓‘调试时’就是编译连接通过以后，按F10或F11键单步执行一步以后的时候，或者在某行按F9设了断点后按F5执行停在该断点处的时候。 谢谢

user: user-4
content: http://www.cplusplus.com/reference/ostream/ostream/operator-free/index.html 理解和讨论之前请先学会如何观察！  计算机组成原理→DOS命令→汇编语言→C语言（不包括C++）、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言（包括C++）、架构……  对学习编程者的忠告： 多用小脑和手，少用大脑、眼睛和嘴，会更快地学会编程！ 眼过千遍不如手过一遍！ 书看千行不如手敲一行！ 手敲千行不如单步一行！ 单步源代码千行不如单步Debug版对应汇编一行！ 单步Debug版对应汇编千行不如单步Release版对应汇编一行！ 不会单步Release版对应汇编？在你想单步Release版C/C++代码片断的前面临时加一句DebugBreak();重建所有，然后在IDE中运行。（一般人我不告诉他！）  单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后，就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。  VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化，这样过一遍不就啥都明白了吗。 对VC来说，所谓‘调试时’就是编译连接通过以后，按F10或F11键单步执行一步以后的时候，或者在某行按F9设了断点后按F5执行停在该断点处的时候。

user: user-0
content: 引用 9 楼 lin5161678 的回复:[quote=引用 8 楼 xiao969856 的回复:] [quote=引用 7 楼 lin5161678 的回复:] 贴错误提示   i[str] 的意思是 str[i] == *(str+i) == *(i+str) == i[str] 无聊的边枝末节  除了卖萌 我没见过其他用处 我重点是想知道cout<<str[i]<<'\n';这句代码的原理和用法，重点是“<<”这个运算符的应用原理，不是下面那段程序，弄明白使用方法我自己就能改[/quote] 哦 看书 重点内容  cin 和 类运算符重载[/quote] 哦哦，谢谢，顺便问一下这是C语言里的还是C++的，能用在Linux编程里吗？

user: user-1
content: 引用 8 楼 xiao969856 的回复:[quote=引用 7 楼 lin5161678 的回复:] 贴错误提示   i[str] 的意思是 str[i] == *(str+i) == *(i+str) == i[str] 无聊的边枝末节  除了卖萌 我没见过其他用处 我重点是想知道cout<<str[i]<<'\n';这句代码的原理和用法，重点是“<<”这个运算符的应用原理，不是下面那段程序，弄明白使用方法我自己就能改[/quote] 哦 看书 重点内容  cin 和 类运算符重载

user: user-0
content: 引用 7 楼 lin5161678 的回复:贴错误提示   i[str] 的意思是 str[i] == *(str+i) == *(i+str) == i[str] 无聊的边枝末节  除了卖萌 我没见过其他用处 我重点是想知道cout<<str[i]<<'\n';这句代码的原理和用法，重点是“<<”这个运算符的应用原理，不是下面那段程序，弄明白使用方法我自己就能改

user: user-5
content: 改为 cout<<str[i]<<'\n';  str是数组，i是下标索引