location pick(void){ // generates a random location
location get;
get.x = rand() % FIELD_SIZE + 1;
int forY = rand() % FIELD_SIZE +1;
switch(forY){
case 1:
get.y = 'a';
break;
case 2:
get.y = 'b';
break;
case 3:
get.y = 'c';
break;
case 4:
get.y = 'd';
break;
case 5:
get.y = 'e';
break;
}
}
2
A
답변
9
기능 끝에는 return get;
이 누락되었습니다.
1
함수에서 값을 반환합니까?
6
기능상 return get;
으로 확인하십시오!
그렇지 않으면 함수를 void pick
으로 선언하고 싶습니다.
1
이 함수는 쓰여진대로 아무 것도 반환하지 않지만 location
을 반환하도록 선언되었습니다. 마르크가 말했듯이 결국 return get;
을 원할 것입니다.
0
location
항목을 함수를 참조하여 전달할 수 있습니다. 또한,
void pick(location& get)
{
get.x = rand() % FIELD_SIZE + 1;
int forY = rand() % FIELD_SIZE +1;
switch(forY){
case 1:
get.y = 'a';
break;
case 2:
get.y = 'b';
break;
case 3:
get.y = 'c';
break;
case 4:
get.y = 'd';
break;
case 5:
get.y = 'e';
break;
}
return;
}
스위치 문에서 default
사건에 대해 생각 :이 스택 크기를 줄일 수 있습니다. 오류 처리는 나중에 디버깅 시간 낭비를 방지하는 데 도움이됩니다.
또 다른 제안 : switch 문을 테이블 조회로 변환하십시오. 이렇게하면 테이블을 변경하여 코드를 변경하지 않고도 기능을 다시 테스트 할 수 있습니다. 이는 외부 파일에 데이터를 배치하는 데까지 확장 될 수 있습니다. 외부 파일을 사용하면 프로그램을 다시 작성할 필요없이 데이터를 변경할 수 있습니다. 이 완전히 이식 할 수 없습니다 순수 이론
location pick(void){ // generates a random location
location get;
get.x = rand() % FIELD_SIZE + 1;
get.y = rand() % FIELD_SIZE +'a';
return get;
}
- 문자 :
0
흠 ... 이제이 문제를 해결하는 방법을 들었으니, 여기에 내가 코드를 작성 줄 방법 인접하지 않아도됩니다. 실제로 연속적이지 않은 유일한 위치는 EBCDIC이며 사용하는 범위 내에서 연속적입니다. 그러나 정말로 우려하고 있다면 다음과 같이 할 수 있습니다.
location pick(void){ // generates a random location
static char letters[] = "abcdef";
location get;
get.x = rand() % FIELD_SIZE + 1;
get.y = letters[rand() % FIELD_SIZE];
return get;
}
관련 문제
- 1. . 내가 도대체 뭘 잘못하고있는 겁니까?
- 2. sed 문제. 내가 도대체 뭘 잘못하고있는 겁니까?
- 3. 디스플레이로드? 내가 도대체 뭘 잘못하고있는 겁니까?
- 4. Mono.TextEditor가 작동하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 5. 힘내에서 많은 커밋을 1로 수정하십시오. 내가 도대체 뭘 잘못하고있는 겁니까?
- 6. 연결된 목록 인쇄. 내가 도대체 뭘 잘못하고있는 겁니까?
- 7. SqlBulkCopy WriteToServer 예제입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 8. LLVM JIT 오류. 내가 도대체 뭘 잘못하고있는 겁니까?
- 9. 이름 xxx는 현재 컨텍스트에 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 10. 초급 질문 : 직사각형을 그립니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 11. Struts가 내 서블릿을 호출하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 12. Android에서 EditText 확장하기. 내가 도대체 뭘 잘못하고있는 겁니까?
- 13. 등록하는 각 사용자에 대해 데이터베이스 테이블을 만들려고합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 14. multibyte ANSI를 varargs에 PInvoke 할 수 있습니까? 내가 도대체 뭘 잘못하고있는 겁니까?
- 15. 파이썬 임시 파일 모듈과 스레드가 훌륭하게 재생되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 16. Azure, WCF, REST, SSL 프로젝트를 사용할 수없는 이유는 무엇입니까? 내가 도대체 뭘 잘못하고있는 겁니까?
- 17. Entity Framework 4 단방향 탐색/관계. 내가 도대체 뭘 잘못하고있는 겁니까?
- 18. Jquery/Javascript : 로컬 저장 장치 플러그인에서 색인을 저장할 수 없습니까? 내가 도대체 뭘 잘못하고있는 겁니까?
- 19. 데이터베이스 역할에 스키마에 대한 실행 권한을 부여하려면 어떻게합니까? 내가 도대체 뭘 잘못하고있는 겁니까?
- 20. HTML5 File API는 항상 [object file]의 DataURI를 반환합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 21. jQuery 자동 완성으로 아무 것도 반환 할 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 22. 어떻게 gridView 페이지가 삽입 또는 업데이트 또는 새로 고침되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 23. PHP 오류 : "정의되지 않은 함수 AddUser()"호출. 내가 도대체 뭘 잘못하고있는 겁니까?
- 24. Google App Engine의 Datastore에서 하위 항목을 부모에게 할당 할 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 25. 첫 번째 자녀가 여기에서 작동하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 26. 코드의 굵은 선에서 NULL POinter 예외가 발생했습니다! 내가 도대체 뭘 잘못하고있는 겁니까?
- 27. 바이트 배열을 소스로 사용하여 이미지 객체를 만들려고합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 28. 식 혼합을 사용하여 목록 상자에서 항목의 템플릿을 정의합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 29. Android OS 2.2 권한 :이 간단한 코드가 왜 효과가 없는지 전혀 알 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 30. C++ boost :: bind 및 boost :: function, 클래스 멤버 함수 콜백 및 연산자 ==. 내가 도대체 뭘 잘못하고있는 겁니까?
HA, 감사합니다. – Allen
@Allen : 녹색 체크 표시를 클릭하여 질문에 대한 대답을 나타냅니다. – GManNickG