#include <stdio.h>
int main(void) {
int x;
x = x + 1;
printf("%d", x);
return 0;
}
при x = x + 1 будет x равняться "2"
если я объявляю переменную через int x; и потом ничего в неё не кладу, то там хранится ноль на Си?
int x;
вне всех функций, то в С и С++ там изначально хранится 0. Если вы делаете то же самое внутри функции, то начальное значение не определено. Технически там будет либо мусор находящийся в стеке или в регистре процессора ассоциированном с данной переменной, либо какое-нибудь отладочное значение записанное туда компилятором специально для отлова обращений к неинициализированным переменным.