Это был вопрос с экзамена:
Этот код всегда работает?
Ответ: оператор if проверяет, указывает ли виртуальный адрес 'str' на начало страницы, только тогда необходимо выполнить команду strcpy, и она будет работать, потому что вся эта страница доступна для этого процесса.
Может ли кто-нибудь объяснить мне этот двусмысленный ответ? большое спасибоstrcpy размером больше malloc
int main() {
char *str ;
str = (char*) malloc (sizeof(char)*4);
if (((int)str) & 0x00000FFF) != 0) return 0;
strcpy (str ,"1234567890") ;
printf ("str=%s", str) ;
return 0;
}
Но что на самом деле проверяет условие if? – Rawhi