﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-我的编程乐园-文章分类-编程体会和收获</title><link>http://www.cppblog.com/deercoder/category/12424.html</link><description>思考至上</description><language>zh-cn</language><lastBuildDate>Fri, 27 Nov 2009 14:07:16 GMT</lastBuildDate><pubDate>Fri, 27 Nov 2009 14:07:16 GMT</pubDate><ttl>60</ttl><item><title>++弄错了……</title><link>http://www.cppblog.com/deercoder/articles/102114.html</link><dc:creator>刘畅</dc:creator><author>刘畅</author><pubDate>Fri, 27 Nov 2009 13:43:00 GMT</pubDate><guid>http://www.cppblog.com/deercoder/articles/102114.html</guid><wfw:comment>http://www.cppblog.com/deercoder/comments/102114.html</wfw:comment><comments>http://www.cppblog.com/deercoder/articles/102114.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/deercoder/comments/commentRss/102114.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/deercoder/services/trackbacks/102114.html</trackback:ping><description><![CDATA[#include &lt;iostream&gt;<br>using namespace std;<br><br>int main()<br>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>int a=0, b = 1, c = 2, d = 3, e = 4;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>a = (b++, c++, d++, e++);<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>cout &lt;&lt; a &lt;&lt; endl;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>(a = b++), c++, d++, e++;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>cout &lt;&lt; a &lt;&lt; endl;<br>}<br>猜测结果是：<br>4<br>2<br>为什么，因为++是在该语句执行后才完成的，所以赋值操作执行前，++是不会执行的，呵呵，知道吧！！
<img src ="http://www.cppblog.com/deercoder/aggbug/102114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/deercoder/" target="_blank">刘畅</a> 2009-11-27 21:43 <a href="http://www.cppblog.com/deercoder/articles/102114.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++关键字弄错了……</title><link>http://www.cppblog.com/deercoder/articles/102111.html</link><dc:creator>刘畅</dc:creator><author>刘畅</author><pubDate>Fri, 27 Nov 2009 13:39:00 GMT</pubDate><guid>http://www.cppblog.com/deercoder/articles/102111.html</guid><wfw:comment>http://www.cppblog.com/deercoder/comments/102111.html</wfw:comment><comments>http://www.cppblog.com/deercoder/articles/102111.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/deercoder/comments/commentRss/102111.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/deercoder/services/trackbacks/102111.html</trackback:ping><description><![CDATA[下面的这个程序，如果将那个string定义为new 的话，会出现很多错误，一定要注意啊！！<br><br>#include &lt;iostream&gt;<br>#include &lt;string&gt;<br>#include &lt;fstream&gt;<br>#include &lt;vector&gt;<br>using namespace std;<br><br>int main()<br>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>vector&lt;string&gt; v;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>string line;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>ifstream in ("1.cpp");<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>while (getline(in,line))<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>v.push_back(line);<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>}<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>string test;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>for (int i = 0; i != v.size(); i++)<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> test = test + v[i];<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>}<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>cout &lt;&lt; test;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>return 0;<br>}<br>
<img src ="http://www.cppblog.com/deercoder/aggbug/102111.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/deercoder/" target="_blank">刘畅</a> 2009-11-27 21:39 <a href="http://www.cppblog.com/deercoder/articles/102111.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据读入的问题（巨大的BUG）</title><link>http://www.cppblog.com/deercoder/articles/102102.html</link><dc:creator>刘畅</dc:creator><author>刘畅</author><pubDate>Fri, 27 Nov 2009 13:22:00 GMT</pubDate><guid>http://www.cppblog.com/deercoder/articles/102102.html</guid><wfw:comment>http://www.cppblog.com/deercoder/comments/102102.html</wfw:comment><comments>http://www.cppblog.com/deercoder/articles/102102.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/deercoder/comments/commentRss/102102.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/deercoder/services/trackbacks/102102.html</trackback:ping><description><![CDATA[#include&lt;stdio.h&gt;<br>#define MAX 4<br>void main()<br>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>int n,num=0,per=0;<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>int i,j;<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> char a[MAX][MAX];<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr><span style="COLOR: rgb(255,0,0)">scanf("%d%*c",&amp;n);</span> //<span style="COLOR: rgb(0,0,204)">开始这里没有虚读，所以回车键被后面的字符读入了。因为我没有处理，后面</span>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> while(n!=0)&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> //<span style="COLOR: rgb(0,0,255)">就直接读入了。一定要注意这个问题。</span><br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>for(i=0;i&lt;n;i++)<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>for(j=0;j&lt;n;j++)<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>scanf("%c",&amp;a[i][j]);<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>}<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>getchar(); //读入回车符，每次结束的时候<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>}<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>for(i=0;i&lt;n;i++)&nbsp;<wbr> //求出每行的个数并估计最多<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>{<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>for(j=0;j&lt;n;j++)<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>if((a[i][j]=='x')||(a[i][j]=='X'))<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr><span style="COLOR: rgb(255,0,0)">++num;</span> //这里直接用它，原来还分每次都用一个per来求个数。<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>}<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>printf("%d\n",num);<br>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>}<br>}<br><br>相比较而言，下面的代码更完善：<br>#include&lt;stdio.h&gt;<br>#define MAX 4<br>void main()<br>{<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> int n,num=0,per=0;<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> int i,j;<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> char a[MAX][MAX];<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> while(scanf("%d%*c",&amp;n)!=0)<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> {<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(i=0;i&lt;n;i++)<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> {<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(j=0;j&lt;n;j++)<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> {<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> scanf("%c",&amp;a[i][j]);<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> getchar(); //读入回车符，每次结束的时候<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(i=0;i&lt;n;i++)&nbsp;<wbr> //求出每行的个数并估计最多<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> {<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(j=0;j&lt;n;j++)<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> if((a[i][j]=='x')||(a[i][j]=='X'))<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> ++num;<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> printf("%d\n",num);<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> num=0;<br>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> }<br>}<br>首先，将读入送入while中，每次都要循环判断多少。其次，每次while完成后，记得要清零，否则的话会继续的叠加num，这样最终得到的就不是每次输入矩阵的x的个数了。<br>
<img src ="http://www.cppblog.com/deercoder/aggbug/102102.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/deercoder/" target="_blank">刘畅</a> 2009-11-27 21:22 <a href="http://www.cppblog.com/deercoder/articles/102102.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>