Member 12705621 Ответов: 1

Это ответ 90, но я не получил решения? Кто-нибудь, пожалуйста, помогите


#include<stdio.h>
int main(){
    int a[]={10,20,30,40};
    int i=3,x;
    x=1*a[--i]+2*a[--i]+3*a[--i];
    printf("%d",x);
    return 0;
}


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

Я попробовал его на онлайн-инструментах IDE и получил ответ 90, но не получил решения

David_Wimbley

Что значит получить ответ, но не получить решение? Не могли бы Вы уточнить? В этом нет никакого смысла. Я предполагаю, что "получить решение" означает, что это проблема домашнего задания, и ваш ответ не соответствует тому, каким он должен быть.

1 Ответов

Рейтинг:
0

Patrice T

Вы находитесь в серой зоне. код подсказывает

x=1*a[i-1]+2*a[i-2]+3*a[i-3];

Но у вас нет никакой гарантии этого, потому что компилятор C-это рерайтер.
Это означает, что компилятор может свободно переписать этот код так, как он предпочитает. Еще хуже то, что результат может измениться с другим компилятором.

Единственный способ узнать, как переводится код, - это использовать отладчик на уровне сборки, чтобы увидеть, как он переводится.