注册 登录
编程论坛 C++教室

新人哈 想问问关于char型指针变量的特点

小小卒 发布于 2014-02-01 16:07, 520 次点击
#include<iostream>
using namespace std;
void main(){
char a[21],*ps=s;
for(int i=0;i<20;i++)
s[i]='A'+i;
s[20]='\0';
ps=&s[17];
cout<<*ps<<endl<<ps<<endl;
}

结果是  R
        RST
一直不是很懂char型指针的机制啊,这个程序好像就是把s[17]当首元然后输出字符串,为啥啊?书上也没有详细说,能有高人帮忙解释一下吗
8 回复
#2
zklhp2014-02-01 19:44
char a[21],*ps=s;
               ^

别的不说 你这代码编译不过的。。
#3
a14668012902014-02-02 00:45
首先,你这个char a[21],*ps=s;应该是char s[21],*ps=s;吧,然后哪来的字符串呀,他是把*ps=s中的S相当于S[0];呀,你还是好好看书吧,话说你看的是什么书呀
#4
纸T02014-02-02 17:33
使用数组要声明;
#5
小小卒2014-02-04 19:00
呃不好意思我是我打错了 应该是s[21] 我想问  ps是个字符串指针 为什么进行ps=&s[17]的操作后 cout<<ps;会输出RST 呃 可能有点蠢但的确不太明白 望解答
我看的是高级语言C++程序设计
#6
小小卒2014-02-04 19:01
回复 2楼 zklhp
不小心打错..
#7
小小卒2014-02-04 19:01
回复 3楼 a1466801290
高级语言C++程序设计
#8
小小卒2014-02-04 19:02
回复 2楼 zklhp
呃不好意思我是我打错了 应该是s[21] 我想问  ps是个字符串指针 为什么进行ps=&s[17]的操作后 cout<<ps;会输出RST 呃 可能有点蠢但的确不太明白 望解答
#9
TonyDeng2014-02-05 11:27
因爲C/C++就是這樣處理字符串的
1