1
我有這個功能稱爲add_to_string
,我把它從我的主要功能爲char添加到字符串在C字符添加到字符串
add_to_string(name[I]);
在我看來,我不能一個char追加到一個字符串。那麼我將如何解決這個問題呢?
我在此代碼的主要意圖是簡單地打印輸入的名稱縮寫,避免用戶輸入錯誤(加名和中間名之間有兩個空格)
這裏是我的全部代碼
#include<stdio.h>
#include<cs50.h>
#include<string.h>
string add_to_string (char letter);
string result;
int main (void)
{
printf("pleas enter your full name: ");
string name = get_string();
int len = strlen(name);
for (int i = 0; i < len; i++)
{
if (i == 0)
{
add_to_string(name[i]);
} else if (name[i] == ' ')
{
if (name[i + 1] != ' ')
{
add_to_string(name[i]);
}
}
}
printf("%s\n",result);
}
string add_to_string (char letter)
{
strncat(result, letter, 30);
return result;
}
編譯啓用所有警告......你有幾個誤用,並鍵入任何像樣的編譯器將突出馬上錯誤。 – StoryTeller
我並沒有真正明白你的意思,但我想你的意思是字符串和get_string(),這是一個正在採用的課程,他們爲我們提供了這個包含這些類型和功能的cs50標題,例如 –
。 [man strncat](https://linux.die.net/man/3/strncat):'char * strncat(char * dest,const char * src,size_t n);'。第二個參數的類型是什麼,你給它的類型是什麼? – kaylum