gpt4 book ai didi

c - 尝试执行 1 -(双数)的非法指令

转载 作者:行者123 更新时间:2023-11-30 17:32:17 26 4
gpt4 key购买 nike

我有一个名为“a”的数据类型为 double 的数字,当这个数字小于 0.5 时,说b = 1 - a没有错误。但是当 a > 0.5 时,我说b = 1 - a代码中的该点存在错误(执行该特定行之前的所有打印语句)并且错误显示“非法指令”这里发生了什么?

代码是:

enter code here
void pwm_duty(double duty)
{
int count;
int on_time;
int off_time;
double on;
double off;
on = duty * 10;
off = (1-duty) * 10;
printf("on %f off %f\n",on,off);
on_time = floor(on);
off_time = floor(off);
printf("Before loop on time is %d off time is %d \n",on_time, off_time);
for(count=0;count<20;count++)
{
ioctl(fd,1,1);
delay_ms(on_time);
ioctl(fd,0,1);
delay_ms(off_time);
}
printf("Now I am out of the loop lol\n");
}

错误是:非法指令

最佳答案

你肯定错过了一些东西。我不知道你如何完成这个任务,但完成这个减法(并打印结果)的正确方法是:

#include <stdio.h>

void main()

{
double a=0.4;
double b=0.4;
double c=0.6;


b = 1 - a;

printf("b is %f\n",b);

b = 1 - c;


printf("b is %f\n",b);

return;


}

该程序对应的输出是

$ ./a.out
b is 0.600000
b is 0.400000

关于c - 尝试执行 1 -(双数)的非法指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24282148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com