두부와 백설기
futureDevBlog
두부와 백설기
전체 방문자
오늘
어제
  • 분류 전체보기 (19)
    • 컴퓨터(IT) (4)
      • 책 서평or소개 (4)
      • 궁금증 해결 (0)
    • C (3)
      • 코딩 문제 (3)
    • JAVA (0)
      • 이것이 자바다 일대기 (0)
    • 직무관련 대외활동(교육) (1)
    • 일반 활동 기록 (11)
      • 혼공학습단 8기 (6)
      • 네이버 부스트코스 파이썬 코칭스터디(PY4E) (2)
      • 베어유(빡공단)생활영어(구 SQL) (0)
      • 2024 블록체인 누리단 (3)
    • 흘러가는 일상 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 페이스북

공지사항

인기 글

태그

  • 공부
  • JS
  • 혼공학습단 8기
  • 빡공단
  • 자기개발
  • 문자와 문자열
  • character and string
  • 혼공단
  • 스터디
  • 오블완
  • 알고리즘
  • 베어유
  • c언어
  • 오아시스비지니스
  • 자료구조
  • 코딩문제
  • 서평
  • k-에듀케이션
  • JavaScript
  • 타임교육c&p
  • 2024블록체인누리단
  • 혼공
  • 티스토리챌린지
  • 혼공JS
  • 챌린지
  • abc waas
  • 혼공학습단
  • 학습
  • 쉽게 풀어쓴 C언어 Express
  • 자바스크립트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
두부와 백설기

futureDevBlog

C/코딩 문제

[쉽게 풀어쓴 C언어 Express]Ch.12 문자와 문자열 character and string_Programming11

2022. 7. 1. 00:20

다 하고 보니 어떻게 돌아가는 코드인지는 알겠지만, 그걸 내가 어떻게 완성 시켰는지는 의문이다.


11. 엔터기가 눌려질 때까지 사용자로부터 문자열을 입력받아서 문자열에 포함된 단어들을 역순으로 배열하여 출력하는 프로그램을 작성하라.

#include<stdio.h>
#include<string.h>

void str_reverse(char* s, char* s2);

int main(void) {

	char s[100];
	char s2[100] = "";		// '\0'로 초기화, 초기화 안하면 쓰레기값으로 인해 잘 못된 결과로 나옴

	printf("문자열을 입력하시오: ");
	scanf("%[^\n]s", s);

	str_reverse(s, s2);

	printf("%s", s2);

	return 0;
}

void str_reverse(char* s, char* s2)
{
	int i = 0;		// token 변수와 for 문에서 활용할 인덱스 변수
	char* token[100];	// strtok 함수에서 반환된 주소값 저장할 변수

	token[i] = strtok(s, " ");	// 문자열 s에서 첫 번째 공백을 '\0'으로 변환하고 문자열 시작점 주소값 반환

	printf("=================================\n");
	while (token[i] != NULL)	// token[i] 값이 NULL이 아닐 때까지 반복 = strtok(s, " ")가 끝날 때까지
	{
		printf("token[%d] TEST: %s\n", i, token[i]);	// token[i]에 들어간 주소 참조값 출력('\0'이 나올 때까지)
		i++;											// 다음 token[] 요소에 대입하기 위해 i++
		token[i] = strtok(NULL, " ");					// 그전에 변환한 '\0'값 다음 공백을 똑같이 '\0'으로 변환 후 시작점 주소값 반환
	}
	printf("\n=================================\n");

	i--;		// 실제 요소 개수랑 맞게 i--

	for (int j = 0; j <= i; j++) {
		strcat(s2, token[i - j]);		// 반복문으로 s2 변수에 마지막 token의 요소 참조값부터 붙여넣기

		if (j != i)						//  마지막 반복전까지 " " 공백 붙여넣기
			strcat(s2, " ");
	}
}

2022-06-30

저작자표시 비영리 변경금지 (새창열림)

'C > 코딩 문제' 카테고리의 다른 글

[쉽게 풀어쓴 C언어 Express]Ch.12 문자와 문자열 character and string_Programming12  (0) 2022.07.01
[쉽게 풀어쓴 C언어 Express]Ch.10 배열 array_Programming16  (0) 2022.06.20
    'C/코딩 문제' 카테고리의 다른 글
    • [쉽게 풀어쓴 C언어 Express]Ch.12 문자와 문자열 character and string_Programming12
    • [쉽게 풀어쓴 C언어 Express]Ch.10 배열 array_Programming16
    두부와 백설기
    두부와 백설기
    개발자가 되고 싶은 사람이 쓰는 블로그

    티스토리툴바