C 단어 뒤집기 코드
조회수 667회
단어를 뒤집는 코드를 짜보았는데요, newWord 각각을 모두 확인해보면 알파벳 하나씩은 모두 출력이 되는데 %s를 통해서는 뒤집어진 단어가 출력되지 않아서요 왜 그런건가요?
#include <stdio.h>
int main(void) {
char word[30];
char newWord[30];
int idx = 0;
printf("Input the word\n");
scanf("%s", word);
while(word[idx] != '\0') {
idx++;
}
newWord[idx+1] = '\0';
for(int i = 0; i <= idx; i++) {
newWord[i] = word[idx-i];
printf("%c\n", newWord[i]);
}
printf("%d", newWord[idx+1]);
printf("the new word is %s\n", newWord);
return 0;
}
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
#include <stdio.h> int main(void) { int i, idx = 0; //for문 사용을 위한 i와 최대 개수를 구하기 위한idx char inputString[20]; //입력 받을 문장. char newString[20]; //뒤집혀서 넣어질 문장 printf("String input : "); scanf("%s", inputString); //입력 받음 while(inputString[idx] != '\0') { idx++; //최대값을 구함 } newString[idx] = '\0'; //뒤집힐 문장에 끝에 Null문자를 넣음 for(i = 1; i <= idx; i++) { /* inputString에서 받은 것중 뒤집힐 문장은 최대 바로 전인 idx-1이기 때문에 i를 1부터 시작함. inputString에서 받은 문자를 처음부터 넣어햐 하기 때문에 i-1로함. */ newString[idx-i] = inputString[i-1]; } //뒤집힌 문장 출력. printf("%s\n", inputString); printf("%s\n", newString); return 0; }
이렇게 하면 실행이 잘됩니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력