簡體   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