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

这两个程序有什么区别吗?

sfesdm 发布于 2008-07-12 20:42, 1002 次点击
程序一
#include<iostream>
using namespace std;
int main()
{int i,j,n=9;
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
cout<<j<<"x"<<i<<"="<<j*i<<' ';
cout<<endl;}
}


程序二
#include<iostream>
using namespace std;
int main()
{int i,j,n=9;
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
cout<<j<<"x"<<i<<"="<<j*i<<'  ';
cout<<endl;}
}

也许不仔细看是比较难看出来的,其实就是cout<<j<<"x"<<i<<"="<<j*i<<' ';和cout<<j<<"x"<<i<<"="<<j*i<<'  ';的区别,第一个程序里最后面‘’间只有一个空格,第二个程序里有两个空格,第二个程序多了一个空格就有了不同的结果,而且是错误的,并且是三个和四个空格都有不同的错误结果,当出现五个空格就不能运行了,各位能否帮帮忙看看为什么会这样子的,并解释一下,在此先谢过了。
8 回复
#2
我是杨过2008-07-12 20:58
估计是你的‘’用成汉语的了,呵呵
#3
忘记喧嚣2008-07-13 01:38
'  ' 你是把空格当 一个字符处理了.  那么当它多余两个是不是就是字符串?

"" 用这个就不得错了
#4
sfesdm2008-07-13 19:25
回复 3# 忘记喧嚣 的帖子
嗯,谢谢。我上百度问过,结果也是这样说的,我试过用""的,发现结果没问题,用''就出现上面说的问题了,只是不知道怎么一回事而已,现在知道了,呵呵。
#5
水中无月2008-07-13 20:10
[bo][un]我是杨过[/un] 在 2008-7-12 20:58 的发言:[/bo]

估计是你的‘’用成汉语的了,呵呵


不是“汉语的”,而是“全角字符”
VC6中只支持半角字符(除了字符串的内容外)
#6
蓝色神话2008-07-13 21:37
''里面的内容只能是一个字符,超过一个字符就错了!
#7
wqcsjhk2008-07-19 00:46
....................
楼主写的这是乘法口诀吧
#8
Elten2008-07-19 02:28
是个乘法口诀~
#9
feifeimao2008-07-20 23:02
这都知道!
1