📄 subject_23815.htm
字号:
<p>
序号:23815 发表者:吾讲得 发表日期:2002-12-06 16:37:55
<br>主题:里面的程序我又有不明?
<br>内容:一.1.#include<iostream.h><BR> 2.#include<string.h><BR> 3.class Book{prive:char name[30];long index;<BR> 4.public:void init(const char *i_name){index=-1;strcpy(name,i_name);}<BR> 5.void show_data() const{cout<<"name:"<<name<<"index:"<<endl;}};<BR> 6.void main(){Book A_Book;<BR> 7.A_Book.init("THE C++ Bible");<BR> 8.A_Book.show_data();}<BR> 输出结果:name:THE C++ Bible index:-1;<BR>1.在第4行中init没有返回值,但strcpy(name,i_name)不是要返回一个指针吗?<BR>2.还有的是strcpy(name,i_name)中的name是什么来的?是不是第3行的char name[30]的name,<BR>3.如果是那么第5行输出name的值不是应该是name[30]的首地址吗?第7行的参数是字符串,而原型中的形参i_name却为指针,<BR> 可以这样赋值吗?难道它是会自动将字符串转换为指针的?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:tjhe 回复日期:2002-12-06 18:42:36
<br>内容:1.strcpy(name,i_name)返回的复制目标地的地址,本例中即name数组的首地址。如果不进行进一步处理,可以不接收其返回值。与init有没有返回值没关系。<BR>2.strcpy(name,i_name)中的name当然是数据成员name。<BR>3.第5行输出不是name[30]的首地址,name是字符数组名,与字符指针属于同一类型。输出字符指针就是输出其代表的字符串。第7行的参数是字符串常量,其类型就是const char *。因此与原型中的形参的类型完全一致。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:吾讲得 回复日期:2002-12-07 01:19:22
<br>内容:main(){char name[2]={'a','d'};cout<<name;}<BR>结果应该是一个地址,但上面第5句为什么就变成字符数组,它又为什么不用cout<<name[30]来表示<BR>还有一点我始综不明,当第7句的"THE C++ Bible "把它的T字符的地址传过去,为什么结果会把整个字符串THE C++ Bible 都输出来,我好像看过一个例子要用一个FOR循环才可以把它的一个一个字符传出来的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2002-12-07 14:14:33
<br>内容:name[30]表示一个元素。(本例中下标范围0-29)<BR>cout<<name[0]表示输出数组第一个元素。<BR>如果字符数组不代表字符串,可用单循环依次输出其中的每一个字符,如<BR>char name[2]={'a','d'}; //字符数组不代表字符串<BR>cout<<name; //作为字符串输出会输出多余的字符<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -