为什么输出的是笑脸??

TalkU浩克 2012-12-05 08:47:51
#include<iostream>
#include<math.h>
using namespace std;
class point{

char x,y;
public:
point(char aa,char bb)
{
x=aa;
y=bb;
}

~point()
{
cout<<"point ends"<<endl;
}

};


class line{
point a,b;
char l,ma,mb;
public:
line(char m,char n,char len=0):a(0,0),b(m,n)
{

l=len;
ma=m;
mb=n;
}
~line()
{
cout<<"ends"<<endl;
}

void cal_len()
{
l=sqrt(ma*ma+mb*mb);
cout<<"两点间的距离:"<<l<<"cm"<<endl;
}

void cal_mid()
{
ma=ma/2;
mb/=2;
cout<<"中点坐标:("<<ma<<","<<mb<<")"<<endl;
}
};

void main()
{
line A1(1,3);
A1.cal_len();

A1.cal_mid();


}


为什么输出的是笑脸???
...全文
406 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
prajna 2012-12-05
  • 打赏
  • 举报
回复
char x,y; //字符 -> double x,y; //浮點數
潇潇雨云 2012-12-05
  • 打赏
  • 举报
回复
输出的事乱码。
yleek 2012-12-05
  • 打赏
  • 举报
回复
引用 2 楼 hyqwmxsh 的回复:
引用 1 楼 yleek 的回复:point{ char a, char b; } 改成 point{ int a, int b; } 为什么char不行啊?
我没仔细看你程序啊,不过输出笑脸一般是因为乱码。char只有8bit的宽度,取值值范围从-128到127,如果你输入的是1234,那么char的值到底是多少得转换成二进制看看了。
TalkU浩克 2012-12-05
  • 打赏
  • 举报
回复
引用 1 楼 yleek 的回复:
point{ char a, char b; } 改成 point{ int a, int b; }
为什么char不行啊?
yleek 2012-12-05
  • 打赏
  • 举报
回复
point{ char a, char b; } 改成 point{ int a, int b; }

65,185

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧