首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这个程序那里错了,该怎么解决

2012-02-26 
这个程序那里错了#include iostreamstruct fish{char kind[20]int weightdouble length}fish descri

这个程序那里错了
#include <iostream>
struct fish
{
char kind[20];
int weight;
double length;
};fish describe;

int main()
{
using namespace std;
fish describe = 
{
"catfish",
5,
30.7,
};
fish * ps = new fish;
cout<<"kind:"<<ps->kind<<" "
<<"weight:"<<ps->weight<<" "
<<"length:"<<ps->length<<endl;
delete ps;
return 0;
}

[解决办法]
int 是整数型,
int main()
{
using namespace std;
fish describe =
{
"catfish",
5,
30.7,
};
中30.7与int不符。
[解决办法]
fish describe;//你即定义一个全局对象,又定义一个局部对象,然后又在堆上new一个fish类型的对象,你这里是想表达一个什么意思呢?
[解决办法]
因为你定义ps后,没有赋初值
可以这么改
//fish * ps = new fish; 
fish * ps =& describe;
cout<<"kind:"<<ps->kind<<" "
<<"weight:"<<ps->weight<<" "
<<"length:"<<ps->length<<endl;
//delete ps;


[解决办法]
ps创建后没初始化啊,里面存的还是一堆垃圾

热点排行