Начал изучать язык Си. Пытаюсь скомпилировать простенькую программку, и выбивает такую ошибку. Прочекал весь интернет, но не смог решить. Не подскажите где меня подстрелили? Спасибо. Это ошибка:
hello.c:4:1: error: initializer element is not constantint rand_num = rand() % 11;
Это мой код:
#include <stdio.h>
#include <stdlib.h>
int rand_num = rand() % 11;
int sup_num;
void probability();
int main() {
srand(time(NULL));
while(sup_num != rand_num) {
printf("What is my number?");
scanf("%d", &sup_num);
probability();
}
return 0;
}
void probability() {
if(sup_num > rand_num) {
printf("My number is bigger\n");
} else if(sup_num < rand_num) {
printf("My number is less\n");
} else {
printf("Gotcha! It is my number!");
}
}
В языке С не допускается использование неконстантных значений для инициализации объектов со статическим классом памяти. Об этом вам открытым текстом и говорит компилятор.
То есть для переменной типа int
, объявленной на уровне файла, инициализатором может служить 0
или 42
, но ни в коем случае не rand() % 11
.
Вы инициализируете переменную не константным значением.
Попробуйте так:
#include <stdio.h>
#include <stdlib.h>
int rand_num, sup_num;
void probability();
int main() {
srand(time(NULL));
rand_num = rand() % 11;
while(sup_num != rand_num) {
printf("What is my number?");
scanf("%d", &sup_num);
probability();
}
return 0;
}
void probability() {
if(sup_num > rand_num) {
printf("My number is bigger\n");
}
else if(sup_num < rand_num) {
printf("My number is less\n");
}
else {
printf("Gotcha! It is my number!");
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В общем дело такое, мне надо отследить свайп, я решил использовать jquerymobile
Нужно посчитать сумму цифр в числе использую рекурсию ( 123 = 1 + 2 + 3 = 6)Я решил задачу так , но в браузере не появляется модальное окно , долго...