Can someone explain why this simple ternary operation won't even compile, in C?

void main(int argc, char *argv[]){
    int a = atoi(argv[1]);
    char foo[] = (a == 1) ? "bar1" : "bar2";
}

It seems to be a problem with strings in particular.

Edit
Report