C++菜鸟程序运行直接结束,没有输入输出显示!提示已经结束工作!编写习惯...
发布网友
发布时间:2024-10-24 03:02
我来回答
共5个回答
热心网友
时间:2024-10-27 01:19
你出现了 内存的错误
第一 double * pted 你在这里定义了一个 指向double 变量的指针 但是你并没有给pted初始化 ,这时候pted 就会随便指向了一个八字节的内存单元 。
第二步 你*pted = ted ; 这里面有两个错误 第一 ted 并没有初始化 它的值根本不知道是多少
第二 你就这个未知量赋给了 pted随意指向的内存单元 这块单元很可能是 只读的 或者 正在被其他程序使用 此时 程序就会崩溃 也就是说 你的程序到了这一步 就崩溃了 下面根本不会执行了。
下面我根据你的意思 帮你改了一改 你看看 是不是你想要的
#include <iostream>
using namespace std;
int main()
{
double ted;
cout<<"Enter a number:";
cin>>ted;
double * pted =&ted;
cout<<"*pted="<<*pted<<endl;
cout<<"ted="<<ted<<endl;
cout<<"pted="<<pted<<endl;
return 0;
}
热心网友
时间:2024-10-27 01:15
#include <iostream>
using namespace std;
int main()
{
double ted;
double * pted;
cout<<"Enter a number:";
cin>>ted;
pted=&ted;
cout<<"*pted="<<*pted<<endl;
cout<<"ted="<<ted<<endl;
cout<<"pted="<<pted<<endl;
return 0;
}
热心网友
时间:2024-10-27 01:16
* pted=ted; 这一句改成pted=&ted; 就可以了
热心网友
时间:2024-10-27 01:19
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
int main()
{
// 取有意义的名字
double dGetStuNumber;
double *pPoint;
// 指针指向地址空间不需要解引用
pPoint=&dGetStuNumber;
// 防止命名空间冲突
std::cout<<"Enter a number:";
std::cin>>dGetStuNumber;
std::cout<<"*pPoint="<<*pPoint<<std::endl;
std::cout<<"dGetStuNumber="<<dGetStuNumber<<std::endl;
std::cout<<"pPoint="<<pPoint<<std::endl;
// 指针用完要记得置空
pPoint = NULL;
Sleep(10000);
return 0;
}
热心网友
时间:2024-10-27 01:18
#include <iostream>
int main()
{
using namespace std;
double ted;
double * pted;//这里的Pted是一个野指针;
* pted=ted;//对野指针指向的对象赋值 ,引发错误,直接终止,根据你下面的代码,这里你应该写成pted=&ted,不然只是赋值而没有使pted指向ted
cout<<"Enter a number:";
cin>>ted;
cout<<"*pted="<<*pted<<endl;
cout<<"ted="<<ted<<endl;
cout<<"pted="<<pted<<endl;//这里输出的是Pted这个指针的地址
return 0;
}
//PS:编程习惯可以看 高质量C、C++编程指南(百度一下,你就找到了-_-)