나는 C와 매우 녹슬었고, 이것을 컴파일하려고 할 때, 세개의 중첩 된 if 각각에 "lvalue가 할당의 왼쪽 피연산자로 필요하다."라는 오류가 계속 발생한다. 나는 정말로 내가 정말로 바보 같은 기본적인 실수를하고 있다고 확신한다. 그러나 나는 그것을 고칠 수 없다!C에서 argc/argv 문제
또한 코드는 매우 순진하며, argv의 다양한 문자열을 검사하는 더 좋은 방법이 있습니다 (길게는 6 문자 여야합니다. 처음 2 문자는 IC, FR 또는 RG 중 하나 여야하며 나머지는 4이어야합니다. 숫자 코드) 올바른 문자열을 인쇄 하시겠습니까?
int main(int argc, char *argv[]){
int i=1;
while(i < argc){
if(strlen(argv[i]) == 6){
if(argv[i][0] == 'I' && argv[i][1] = 'C' && argv[i][2] >= '0' && argv[i][2] <= '9' && argv[i][3] >= '0' && argv[i][3] <= '9' && argv[i][4] >= '0' && argv[i][4] <= '9' && argv[i][5] >= '0' && argv[i][5] <= '9'){
printf("%s", argv[i]);
}
if(argv[i][0] == 'F' && argv[i][1] = 'R' && argv[i][2] >= 0 && argv[i][2] <= 9 && argv[i][3] >= 0 && argv[i][3] <= 9 && argv[i][4] >= 0 && argv[i][4] <= 9 && argv[i][5] >= 0 && argv[i][5] <= 9){
printf("%s", argv[i]);
}
if(argv[i][0] == 'R' && argv[i][1] = 'G' && argv[i][2] >= 0 && argv[i][2] <= 9 && argv[i][3] >= 0 && argv[i][3] <= 9 && argv[i][4] >= 0 && argv[i][4] <= 9 && argv[i][5] >= 0 && argv[i][5] <= 9){
printf("%s", argv[i]);
}
}
i++;
}
return(0);
}
편집 : 젠장, 이것은 두 번째 과제에서 == 대신 ==를 쓰면서 꽤 바보 같은 질문이었습니다. 도와 주셔서 감사합니다!
를'는 argv는 [I] [1] = 'C''는 않습니다 'if' 문에서 –