Использование значения указателя в случае переключателя.
#include <stdio.h> int main() { //code int i=5; int *p=&i; printf ("%d", *p); switch (*p) { case *p: printf ("&&"); break; } return 0; }
*p дает значение i. Тогда почему эта программа работает с ошибкой?
Что я уже пробовал:
Оператор Switch работает с интегральными выражениями, а указатель не является интегральным выражением. Но я передаю значение, на которое указывает указатель, равное 5. так что же, это не должно выполняться?