我刚开始使用C,我的任务是使用标头来存放函数的原型。问题是当我期待输入提示时没有任何反应。我没有得到错误,想知道在哪里首先解决我的问题。这是我到目前为止所做的。
LAB2.c
#include <stdio.h>
#include "LAB2HEADER.h"
int main(){
double *p;
double array [10];
p = array;
const int size = 10;
void input(p,size);
return 0;
}
LAB2HEADER.h
#ifndef LAB2HEADER_H_
#define LAB2HEADER_H_
void input (double *array,const int size);
#endif
LAB2HEADER.c
#include <stdio.h>
#include "LAB2HEADER.h"
void input (double *array,const int size){
for (int i = 0; i < size ; i++)
{
printf("Input a value");
scanf("%lf", &array[i]);
}
}
我看到的很多注释似乎只是使用Int作为参数或者有一个没有必要参数的函数,我的错误可能在我的数组指针中,这是我的功能问题吗? / p>
答案 0 :(得分:1)
void input(p,size);
这条线毫无意义。如果这应该是函数调用,则需要删除void
。
答案 1 :(得分:1)
此外,由于您的print语句不以换行符结束,也没有在读取值之前刷新stdout,因此您的提示可能仍然在输出缓冲区中,并且在输入值后按下换行符后才会输出。