30/09/2018, 16:38

Code đổi chữ cái đầu của mỗi từ thành chữ in hoa không put ra chuỗi mà chỉ ra kí tự cuối cùng

bài tập là: đổi chữ cái đầu của mỗi từ thành chữ in hoa
nhưng sau khi em đổi thì khi put ra màn hình chỉ có đúng ký tự cuối cùng. Bây em muốn put ra cả dãy thì phải làm thế nào ạ? đa tạ đa tạ

char Fupper(char *s)
{
    s[0]=toupper(s[0]);
    while(strstr(s," ")!=NULL)
    {
        s=strstr(s," ")+1;
        s[0]=toupper(s[0]);
    }
    puts(s);
}

int main()
{
    char string[255], stringcpy[255];
    printf("
Enter string: ");
    gets(string);
    Fupper(string); 

    getch();
    return 0;
}
Minh Hoàng viết 18:48 ngày 30/09/2018

Vì con trỏ của bạn sửa tới từ cuối rồi nên khi puts() thì nó chỉ in từ cuối đến '\n' thôi
bạn puts() ở ngoài hàm main là được. Vì string ở hàm main() vẫn giữ địa chỉ ô đầu tiên của chuỗi

Bài liên quan
0