Результаты поиска по запросу "undefined-behavior"
[] приоритет над * оператором
Где-то в моем коде я делаю что-то очень плохое. Я получаю неопределенное поведение в своей переменной extrema, когда она работает, но в большинстве случаев она даже не запускается. Любая помощь будет очень полезна. #include <stdio.h> void ...
Почему возврат ссылки на автоматическую переменную работает?
Я сейчас читаю оC ++и я прочитал, что при использовании возврата по ссылке я должен убедиться, что я не возвращаю ссылку на переменную, которая выйдет из области видимости, когда функция вернется. Так почему вAdd функционировать объектcen ...
Почему целочисленное переполнение без знака определяется поведением, а переполнение со знаком - нет?
Целочисленное переполнение без знака хорошо определяется стандартами C и C ++. Например,Стандарт С99 [http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf] (§6.2.5/9) состояния Вычисления с участием беззнаковых операндов никогда не могут ...
Возможно, стоит отметить, что запятые в списке аргументов функции не являются операторами запятых - для аргументов функции не существует гарантированного порядка вычисления слева направо.
но я узнал о неопределенном поведении в C, но этот конкретный код был использован на сайте в качестве примера для «запятой в качестве оператора», и хотя я понимаю, как y = x ++ в строке 2, я не понимаю, в каком порядке подвыражения в строке 2 ...
Ctype.h все еще требует неподписанный символ?
Традиционно это было, строго говоря, ошибкой, чтобы передатьsigned char кctype.h предикаты, потому что они были определены только от -1 до 255, поэтому от -128 до -2 могут закончиться чтением вне границ массива. Было ли это когда-либо ...
C 2011 Онлайн проект
aмассив,foo это функция, иi являетсяint. a[++i] = foo(a[i-1], a[i]);Будет ли код выше, естьНеопределенное поведение? Индексы массива++i, i-1 а такжеi, гарантированно находиться в диапазоне массива.
неправильно
ы можете использовать оба простых типа данных:int, floatи указатели на них. Теперь я бы предположил, что если вы хотите преобразовать указатель на один тип в значение другого типа (например, из*float вint), порядок приведения и разыменования не ...
Почему a = (a + b) - (b = a) плохой выбор для замены двух целых чисел?
Я наткнулся на этот код для замены двух целых чисел без использования временной переменной или использования побитовых операторов. int main(){ int a=2,b=3; printf("a=%d,b=%d",a,b); a=(a+b)-(b=a); printf("\na=%d,b=%d",a,b); return 0; }Но я думаю, ...
Является ли правое смещение неопределенным поведением, если число больше ширины типа?
Я только что проверилC ++ стандарт. Кажется, следующий код не должен быть неопределенное поведение [http://en.wikipedia.org/wiki/Undefined_behavior]: unsigned int val = 0x0FFFFFFF; unsigned int res = val >> 34; // res should be 0 by C++ ...