gpt4 book ai didi

c 函数指针

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:04 26 4
gpt4 key购买 nike

编写一个程序,从用户那里接受总秒数。将此值与三个变量(小时、分钟、秒)的地址一起传递给名为 time() 的函数,该函数将计算小时、分钟和秒数。从 main() 打印此信息。

请帮助我如何修复我的代码以使该程序按预期方式工作。

   /* Adham Hamade
.
*/

#include <stdio.h>
#include <conio.h>

//function prototype
void time(int &,int &,int &, int);


int main()
{
//Variables
int num;
int hours;
int minutes;
int seconds;


//reference number variables
int *h = &hours;
int *m = &minutes;
int *s = &seconds;


printf("Please enter number of seconds");
scanf("%d",&num);

time(h, m, s, num);

printf("\n\nTime is %d hrs %d mins %d secs", hours, minutes, seconds);


getch();
return 0 ;
}

void time(int &h,int &m ,int &s, int num)
{
int sec;
int min;
int hr;
int t;


hr = num / 3600 ;
t = num %3600;
min = t/60;
sec = t%60;

hr = &h;
min = &m;
sec = &s;


}

最佳答案

C中没有引用调用,只有引用传递。
改变

void time(int &,int &,int &, int);  

void time(int *, int *, int *, int);  

time 的函数定义中,更改

 hr = &h;
min = &m;
sec = &s;

*h = hr;
*m = min;
*s = sec;

关于c 函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22602115/

26 4 0
文章推荐: c - 理解 C 中的 Make
文章推荐: html - 网站意外溢出
文章推荐: Java 写入 ResourceBundle
文章推荐: c - 在公式中递增数组
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com