Может ли кто-нибудь сказать мне, почему следующий код выводит 0
на отмеченную строку?Почему это целочисленное деление дает 0?
Кажется, что все правильно, но затем, когда я пытаюсь получить результат ближе к концу, он дает мне 0 каждый раз.
#include <stdio.h>
int main() {
// Gather time-lapse variables
int frameRate, totalLengthSecs;
printf("How many frames per second: ");
scanf("%i", &frameRate);
printf("--> %i frames confirmed.", frameRate);
printf("\nDesired length of time-lapse [secs]: ");
scanf("%i", &totalLengthSecs);
printf("--> %i seconds confirmed.", totalLengthSecs);
int totalFrames = frameRate * totalLengthSecs;
printf("\nYou need %i frames.", totalFrames);
// Time-lapse interval calculation
int timeLapseInterval = totalLengthSecs/totalFrames;
printf("\n\n%i", timeLapseInterval); // <-- this prints 0
return 0;
}
Что вы напечатав в 'stdin' для«требуемой длины покадровой»? –
Если 'totalLengthSecs/totalFrames' меньше 1, оно обрезается до 0, потому что все значения являются целыми числами, а не числами с плавающей запятой. –