⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_23709.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:23709 发表者:吾讲得 发表日期:2002-12-06 00:05:26
<br>主题:请大家看看里面的程序,我有问题想大家帮我解答,谢谢!
<br>内容:1. #include&lt;iostream.h&gt;<BR>2. #include&lt;string.h&gt;<BR>3. class Reader<BR>4. {private:<BR>5. char name[10];<BR>6. public:<BR>7. long index;<BR>8. char *get_name(){return name;}<BR>9. void set_name(char *i_name);};<BR>10.void Reader::set_name(char *i_name)<BR>11.{strcpy(name,i_name);}<BR>12.void main()<BR>13.{Reader A_Reader;<BR>14.char name[10];<BR>15.cout&lt;&lt;"Please input your name?";<BR>16.cin&gt;&gt;name;<BR>17.A_Reader.index=1;<BR>18.A_Reader.set_name(name);<BR>19.cout&lt;&lt;"your name is";<BR>20cout&lt;&lt;A_Reader.get_name();<BR>21.cout&lt;&lt;"(index"&lt;&lt;A_Reader.index;<BR>22.cout&lt;&lt;")\n";}<BR>本题执行结果为:Please input your name?JOHN<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Your name is JOHN(index1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;please any key to continue<BR>第8句是什么意思?比如char *ptr就是指向字符型的指针变量ptr,但char *get_name()是什么意思?在程序里的作用是什么?<BR>第9句定义了一个指针变量i_name作为set_name的参数,当执行到第18句时就将数组name[10]的首地址传给函数set_name的参数,然后执行到第11句时,将i_name复制给name(这里我不明,为什么可以地址复制给地址),输出结果是字符串而不是地址,为什么?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2002-12-06 02:13:45
<br>内容:http://www.copathway.com/cndevforum/subject_view.asp?subject_id=23708&amp;forum_id=59
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:白云 回复日期:2002-12-06 09:29:35
<br>内容:char *get_name()表示get_name()是类Reader的一个成员函数,返回的是字符指针,第11句并非复制地址,strcpy()的作用是将字符串进行复制,在这里是将main()函数中的name数组复制给Reader类里的name数组中,至于输出cout,如果输出字符串指针的话,一定输出的是字符串而不会是指针地址。
<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-06 16:29:03
<br>内容:那么我如果要输出字符串的指针要怎么输出,不是没办法?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lijing2001 回复日期:2002-12-07 20:20:39
<br>内容:老兄!指针其实是一些数值,输出来没多大意义,也看不懂,我们用它只是关心其指的值罢了!
<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 20:59:22
<br>内容:字符串的第一个字符的地址即字符串的地址<BR>cout &lt;&lt; &amp;(name[0]);
<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-08 10:37:48
<br>内容:我用printf比较熟(老土吧,呵呵),你可以采%p开关,这个格式是专门用于输出指针的,输出时是以16进制输出。<BR>#include &lt;stdio.h&gt;<BR>#include &lt;string.h&gt;<BR>main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;char p[]="aaa";<BR>&nbsp;&nbsp;&nbsp;&nbsp;printf("\nAddress as:\t0x%p\n",p);<BR>&nbsp;&nbsp;&nbsp;&nbsp;getchar();<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 + -