c++-这程序编译无报错,运行时出错

问题描述

这程序编译无报错,运行时出错
 #include<iostream>
int Two(int a, const int* c)
{
    if(a >= *c)
        return a;
    else
        return *c;
}
int main()
{
    std::cout << "请输入两个数:" ;
    int a, b, *c;
    std::cin >> a >> b;
    *c = b;
    std::cout << "二者中较大的是:" << Two(a, c) << std::endl;
    return 0;
}

解决方案

代码改成这样,亲测成功:

int a=0, b=0;

int *c = &b;
cout << "请输入两个数:" ;

cin >> a >> b;

cout<<"二者中较大的是:"<< Two(a, c) <<endl;

解决方案二:

c的地址没有赋啊_…… *c=b的时候,哪个内存被赋值了呢?也许是意想不到的地方。

解决方案三:

兄弟你程序出问题了你要试着去调试程序。问题出现在哪里。这样会学会很多。因为程序不可能写出来百分百正确的。所以要学会调试。这一点很重要。
int a, b, *c;
std::cin >> a >> b;
*c = b;
你的程序C是一个指针。没有分配地址。你直接给他赋值是不行的。指针一定要分配一地址。才能赋值。

解决方案四:

*c = b,唉,编译器居然缺省都不产生一个warning,……

解决方案五:

很多实用指针的新手都会遇到的问题,指针在使用之前需要初始化。

解决方案六:

在main主函数中对指针*c 要当即初始化,最好令*c = 0

解决方案七:

c指针化错了,要指向b的地址,而不是b数据本身

解决方案八:

代码改成这样,亲测成功:

int a=0, b=0;

int *c = &b;
cout << "请输入两个数:" ;

cin >> a >> b;

cout<<"二者中较大的是:"<< Two(a, c) <<endl;

时间: 2024-10-04 11:03:19

c++-这程序编译无报错,运行时出错的相关文章

结构体 赋值 初始化-程序编译无问题,运行结果却因数据不同出现差错,新人求解!!!

问题描述 程序编译无问题,运行结果却因数据不同出现差错,新人求解!!! #include #include struct employee{ char name[20]; int age; char sex; float salary;};void main(){ struct employee *p; p = (struct employee *)malloc(sizeof(struct employee)); gets(p->name); p->age = 26; p->sex =

用VS2005运行.NET程序,编译通过,但运行时页面报错:HTTP 500 - 内部服务器错误。查看OUTPUT,显示什么No symbols loaded,大家帮我。

问题描述 用VS2005运行.NET程序,编译通过,但运行时页面报错:HTTP500-内部服务器错误.查看OUTPUT,显示什么Nosymbolsloaded,大家帮我啊.很奇怪,之前都是好的,可以正常运行调试.就上午发生了装了一个登录一个网站的安全认证的东西.叫什么softToken.请教高手们.output里的具体内容如下:'WebDev.WebServer.EXE'(Managed):Loaded'C:WINDOWSassemblyGAC_32mscorlib2.0.0.0__b77a5c

qt5-QT5安装完成之后,运行自动生成的显示“Hello World”的程序,一直报错,为什么?

问题描述 QT5安装完成之后,运行自动生成的显示"Hello World"的程序,一直报错,为什么? :-1: error: LNK1123: failure during conversion to COFF: file invalid or corrupt求大神帮忙解决,,, 解决方案 文件损坏了,你编译出来的程序文件有问题. 解决方案二: LINK : fatal error LNK1123: failure during conversion to COFF: file inv

统计学生成绩的c,编译没报错,运行错误

问题描述 统计学生成绩的c,编译没报错,运行错误 #include /*这是一个查询学生成绩的程序,查询数学,英语,语文,计算并算出总成绩*/ /*首先,显示输入学生人数,然后显示输入各科成绩,最后按照学号排序输出各科 成绩.最后计算并显示出各科成绩的平均值,最大值,最小值*/ /*在main函数中既有printf1函数,scanf函数,printf2函数,arg函数,min函数 max函数*/ void input(double s[][4],int n); void output(doubl

cmd命令执行jav...-用cmd命令执行java程序后,无响应,无报错

问题描述 用cmd命令执行java程序后,无响应,无报错 如图,回车执行后,无响应,简单问题,新手诚心提问,望不吝赐教. 解决方案 可能你的那个jar包就没有输出. 解决方案二: 无响应,无报错,说明你运行的程序已经正确的运行,结果就是这样没有响应 解决方案三: 可能他就是这样的一个包,做了该做的,就没有输出 解决方案四: 还要看你的程序是否按期望的结果运行了.是不是做了对应的动作,如果没有,那么就有可能程序虽然没出错,但是有bug 解决方案五: 应该输出什么?程序要实现什么

c-刚学数据结构写了个链表,调试无报错,一运行就显示“main.exe停止运行”。

问题描述 刚学数据结构写了个链表,调试无报错,一运行就显示"main.exe停止运行". 刚学数据结构,写了个链表,调试无误,一运行就显示"main.exe停止运行",很头疼,求大神指点..谢谢~ 代码如下: #include #include #define OK 1 #define ERROR 0 #define OVERFLOW -1 define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量 define LISTINCREMENT

android 启动报错-Android 运行程序有时候经常报错adb

问题描述 Android 运行程序有时候经常报错adb The connection to adb is down, and a severe error has occured. [2013-09-10 16:08:44 - QualityPicture_Client1.3.1.5] You must restart adb and Eclipse. [2013-09-10 16:08:44 - QualityPicture_Client1.3.1.5] Please ensure that

p2p-JXTA在运行HelloWorld程序的时候报错

问题描述 JXTA在运行HelloWorld程序的时候报错 在运行HelloWorld程序的时候,NetWorkManager的对象manager调用startNetwork方法的时候总会报错,大家遇到过这种情况吗,引用的是2.5的库,库的引用应该没问题 Hisos 2015/5/14 星期四 上午 7:58:27Starting JXTA五月 14 2015 7:54:03 上午 net.jxta.platform.NetworkManager configure信息: Loading exi

移动-android http连接问题。编译不报错,真机运行闪退

问题描述 android http连接问题.编译不报错,真机运行闪退 public class MainActivity extends Activity { private static String url="www.baidu.com"; private TextView a1 = null; private HttpResponse httpResponse=null; private HttpEntity httpEntity=null; @Override public v