Я хочу написать программу, которая, учитывая строку, создает новую строку, состоящую из двух последних букв, обращенных и разделенных пробелом. В моем примере это слово "embedded"
.
. Оно должно возвращать строку ”d e”
, но появляется только последний символ. Так в чем же проблема?
#include <stdio.h>
char *lastLetters(char *word);
char arr[4];
int main(void) {
char str[10] = "Embedded";
printf("%s", lastLetters(str));
return 0;
}
// function declaration
char *lastLetters(char *word) { /*pointer which points to the first character in string (world)*/
char *ptr = word;
/* loop until the pointer ptr reaches the NULL terminator */
while (*ptr != '\0')
{
ptr++;
}
/* get the last character in the string word */
arr[0] = *(--ptr);
arr[1] = ' ';
/* get the second last character in the string word */
arr[2] = *(++ptr);
/* Add the null terminator */
arr[3] = '\0'; //i will return array so i will receive it in pointer
return arr;
}