В следующей простой кусок кода, когда я задаю dearness=(40*basic)/100 or rent=(20*basic)/100
он работает нормально, однако протекающие в моде следующим образом, операторы присваивания для дороговизны и аренды не имеют никакого эффектаошибка в простом операторе присваивания в C
Пожалуйста, предполагающих возможные причины.
#include "stdio.h"
#include "conio.h"
int main()
{
int salary=0,basic=0,dearness=0,rent=0;
clrscr();
printf("enter basic salary");
scanf("%d",&basic);
dearness=(40/100)*basic; //no effect
rent=(20/100)*basic; //no effect
salary=basic+dearness+rent;
printf("%d %d",dearness,rent);
printf("\n%d",salary);
getch();
return 0;
}
спасибо.
Может быть, вы хотели бы иметь прочитать это: http://stackoverflow.com/questions/3602827/what-is-the-behavior-of-integer-division-in-c – Nobilis