打印不带“.”的首字母作为最后一个字符

问题描述

所以我想用 C 编写一个程序,该程序打印名称的首字母,但面临一个问题。我的程序不应将 . 打印为最后一个字符,我已经尝试过:

#include <stdio.h>
#include <string.h>
int main(){
    printf("Enter your Name : \n");
    char name[25];
    gets(name);
    int i;
    printf("%c.",name[0]);
    for(i=0;name[i]!='\0';i++){
        if(name[i]==' '){
            printf("%c",name[i+1]);
            if(i<strlen(name)){
                printf(".");
            }
        }
    }
    return 0;
}

但是在使用示例输入 Satyajit Kumar Ghosh 运行此程序时,它给出了输出“S.K.G.”我不明白为什么要打印“。”最后我给出条件

if(i<strlen(name) 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)