C语言scanf输入后直接跳出了

#include<stdio.h>#defineCOLS5voidstore(doublep[][COLS],introw);intmain(void){doublear... #include<stdio.h>
#define COLS 5
void store(double p[][COLS],int row);
int main(void)
{
double array[3][5];
store(array, 3);
printf("OK");
getchar();
return 0;
}

void store(double p[][COLS],int row)
{
int i, j;
for (i = 0; i < row; i++)
for (j = 0; j < COLS; j++)
scanf_s("%lf", &p[i][j]);
}
刚开始学C语言,写了上面这个程序,可是不知道为什么输入了15个数字之后就自动跳出程序了,没有办法进行到printf(“OK”)这一步,求大神解答一下,谢谢
展开
 我来答
萢萢i3
2016-07-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:71%
帮助的人:4638万
展开全部

你好,我使用VS调试没有问题,可以输出OK,如下图:

如果你要直接运行看到效果的话,把getchar();改成system("pause");

并在前面添加#include<stdlib.h>,代码如下:

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h> //添加头文件
#define COLS 5
void store(double p[][COLS], int row);
int main(void)
{
double array[3][5];
store(array, 3);
printf("OK");
system("pause"); //修改这一句
return 0;
}

void store(double p[][COLS], int row)
{
int i, j;
for (i = 0; i < row; i++)
for (j = 0; j < COLS; j++)
scanf_s("%lf", &p[i][j]);
}
更多追问追答
追问
你好,我是用visual studio做的,要在scanf_s后面加入getchar();才可以不跳出并且显示OK,请问知道这个是怎么回事吗
追答
这个是因为代码本身没有暂停功能,执行完了就直接退出程序了,所以如果要看到效果,需要添加一个暂停语句或者输入语句,以便使程序不直接退出,这样才能看到效果
泉水淌清澈
2016-07-10 · TA获得超过191个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:104万
展开全部
你确定输入的数据是double类型?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式