我必须编写一个名为 BuzzOff.c 的程序。我的程序必须接受 3 个整数参数,例如:
$ BuzzOff 10 99999 2
我的程序应该悄悄地从 0 计数到 0.001 增量,并保持和计数器的结果乘积的总和,即total += count * <arg1>;
我已经阅读了信号,但我仍然不确定它们是如何工作的。如何让我的程序在收到 SIGUSR1 时打印当前的运行总计?
这是我到目前为止所拥有的:
#include<stdio.h>
#include<signal.h>
float total;
void sig_handler(int signo)
{
if (signo == SIGUSR1)
printf("total: %f\n", total);
}
int main(int argc, char *argv[])
{
if( argc!=4 ) {
printf("need three arguments\n"); return(1);
}
float count;
for (count = 0; count < argv[3]; count += 0.001)
total += count*argv[2];
return 0;
}