繁体   English   中英

C语言编程:字符串

[英]C programming: Strings

我的问题是:输入名称并按顺序打印

例如:输入姓名:马丁·路德·金

结果:马丁·路德·金

但是,当我运行这段代码时,它会打印出来:King,LutherMartin-Luther。 你能帮我看看这个错误吗?

#include<stdio.h>
#include<conio.h>
#include <string.h>
int main()
{
char name[100];
int i;
printf("input full name: "); gets(name);
char * c =&name[strlen(name)-1];
while (*(c)!=' ')
    c--;
printf("%s,",c);
*c= '\0';
char *d=&name;
while (*(d)!=' ')
    d++;
printf("%s",d);
*d='-';
printf("%s",name);
getch();
return 0;
}
printf("%s",d);

是问题的根源,因为它会导致中间名的多余显示。 只需删除该行。

字符串是“马丁·路德·金”
您首先显示“国王”。
然后是“马丁”。
然后又是《马丁·路德》。

只需在第17行删除printf。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM