[英]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.