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