쉽게 풀어 쓴 C언어 Express 12장 Exercise 문제
1.
(a) strcat()
(b) strcpy()
(c) strtok()
(d) gets()
(e) strlen()
2.
(a) '?'을 “?”로 변경
(b) if( strcmp(s, "value")==0 )
(c) strcpy(a, "Hello World!");
3. s1이 가리키는 것은 문자열 상수로서 더 이상의 추가 공간을 가지고 있지 않기 때문에
s2가 가리키는 문자열을 저장할 수 없다. 수정한 결과는 다음과 같다.
char s1[20] = "Hi! ";
char *s2 = "Programmers";
strcat(s1, s2);
4. 첫번째 문장에서는 문자 배열이 선언되고 문자 배열의 초기값이 "Hello World!"가 된다. 두 번째 문장에서는 읽기 전용 메모리에 문자열 상수가 저장되고 이 문자열 상수의 주소가
포인터 p에 대입된다.
5. (4)
6. 문자형 포인터 p가 초기화가 되어 있지 않다. 따라서 p가 가리키는 곳에 문자열을 저장
할 수 없다. 올바르게 수정하면 다음과 같다.
int main(void) {
char p[100];
scanf("%s", p);
}
7.
(a) 4 바이트 (b) 하나의 포인터가 생성되므로 4 바이트
(c) 10 바이트 (d) 20바이트
8. (a) “HIGH” (b) ‘D’ (c) “HIGH”
9.
o
lo
llo
ello
Hello
계속하려면 아무 키나 누르십시오 . . .
10.
mystery()는 s1과 s2가 같으면 0을 반환하고 다르면 1을 반환한다. mystery("abc", "abd")와
같이 호출하면 1이 반환된다.
'IT > 프로그래밍' 카테고리의 다른 글
쉽게 풀어 쓴 C언어 Express 14장 Exercise 문제 (0) | 2020.12.07 |
---|---|
쉽게 풀어 쓴 C언어 Express 13장 Exercise 문제 (0) | 2020.12.07 |
쉽게 풀어 쓴 C언어 Express 11장 Exercise 문제 (0) | 2020.12.06 |
쉽게 풀어 쓴 C언어 Express 10장 Exercise 문제 (0) | 2020.12.06 |
쉽게 풀어 쓴 C언어 Express 9장 Exercise 문제 (0) | 2020.12.06 |
댓글