Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Почему нельзя подставлять переменные в выражения #if #else? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В массиве все четные элементы заменить максимальным http://www.cyberforum.ru/cpp-beginners/thread1130253.html
В одномерном массиве все четные элементы заменить максимальным и отсортировать элементы массива по возрастанию.
C++ Поменять местами минимальный и максимальный элемент в каждом столбце матрицы Дано матрицу размера 5 x 10. Превратить матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце. http://www.cyberforum.ru/cpp-beginners/thread1130252.html
Найти средние арифметические значения элементов каждой строки матрицы C++
Задать матрицу произвольным способом. Найти средние арифметические значения элементов каждой строки.
Найти количество элементов превышающих среднее арифметическое всех элементов массива C++
Дано одномерный массив из 15 целых чисел. Найти количество элементов превышающих среднее арифметическое всех элементов массива.
C++ Cколько раз встречаются числа с 4 одинаковыми цифрами http://www.cyberforum.ru/cpp-beginners/thread1130224.html
Здравствуйте.Мне нужна помощь. Для всех шестизначных натуральных чисел посчитать сколько раз встречаются числа, в записи которых присутсвует 4 одинаковые цифры. Вот что получилось. #include...
C++ Подсчет количества букв в файле, их кодирование и расшифровка Здравствуйте. Мне нужно составить программу, которая подсчитает количество каждой буквы в файле input.txt (в этом файле находится некоторый текст) и запишет полученные числа в файл file.txt. Это... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
26.03.2014, 15:06
Цитата Сообщение от Zla9_Kolu4ka Посмотреть сообщение
Почему код работает, не должен же, потому что выражение стоящее после #if вычисляется на этапе компиляции, переменные подставлять нельзя??
Цитата Сообщение от Zla9_Kolu4ka Посмотреть сообщение
int a = 9;
предположу что a сделалась константой
а она известна на этапе компиляции

Добавлено через 2 минуты
попробуй вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <iostream>
using namespace std;
 
int a = 9;
 
int main(void){
 
a+=100;
#if a>99
    printf("Kompiliruet, esli a bol'she 9\n");          
#else
    printf("Kompiliruet, esli a men'she 9\n");
#endif
 
    char ch = getchar();
    return 0;
}
что будет?

Добавлено через 1 минуту
Цитата Сообщение от SatanaXIII Посмотреть сообщение
потому в условии директивы "#if" НЕ могут использоваться никакие переменные из программы.
так об чем ТС и спрашивает
Цитата Сообщение от Zla9_Kolu4ka Посмотреть сообщение
Почему код работает, не должен же, потому что выражение стоящее после #if вычисляется на этапе компиляции, переменные подставлять нельзя??
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru