я следующий кодconst char variable, почему он работает, если я его модифицирую?
int main(int argc, char **argv, char **envp)
{
const char *usuario= NULL;
while(*envp)
{
char *str = *envp++;
//if(strcmp(str,"USERNAME")==0)
if(str[0] == 'U' && str[1] == 'S' && str[2]=='E' && str[3]=='R' && str[4] == 'N')
{
usuario = str;
break;
}
}
if(usuario != NULL)
{
printf("Hola, bienvenido al programa %s",usuario);
}
return 0;
}
И мой вопрос, почему это работает? Эта переменная «usuario» была определена как NULL имеет тип CONST. Предполагается, что эти переменные не могут быть изменены во всей программе, но затем в то время, когда оно было изменено на usuario = str;
http://stackoverflow.com/questions/7736049/const-char-pointer-assignments –
'usuario' не является' const' , На что он указывает, 'const'. – chux
thx Micho, вопрос, Как поставить этот серый квадрат в код? Я использовал «' », но не работал. – EmiliOrtega