Member 12811138 Ответов: 3

Я хочу знать ответ и как он пришел?


#include<stdio.h>
#include<conio.h>
void main()
{
printf("%d",8-6/8*6);
getch();
}


Что я уже пробовал:

я попробовал этот код, и ответ приходит 8, как это может быть 8 cauz 8-6=2 и 2/8*6, то есть 2/48 = 24

3 Ответов

Рейтинг:
2

Patrice T

Цитата:
2/8*6 я.е 2/48 = 24
Похоже, вам нужно проверить свои знания в начальной школе по математике.

Математика:
8-6/8*6 означает 8-((6/8)*6)
8-((6/8)*6) => 8-(36/8)
8-(36/8) = & gt; 8-4. 5 = & gt; 3.5

А с C есть еще 1 трюк:
деление с целыми числами в целочисленном делении и оно дает целое число в качестве ответа, так что 6/8 => 0


CPallini

5.

Рейтинг:
2

Shital97

Ответ-8.
8-6/8*6

Посмотрите на приоритет операторов и их ассоциативность.
/ , * имеют более высокий приоритет, чем - и ассоциативность слева направо.

Итак, сначала 6/8 вычисляется как 0, а затем 0*6 = 0
а 8-0 - это 8.