所以我有一個問題。我必須分開電子郵件的名字,姓氏和主機名。 例如:奇怪的形狀作爲輸出(字符串) - C語言
[email protected] >>輸入
輸出=
名字=西風
姓=極端
主機名=的Gmail .com
我沒有得到想要的結果。我得到一些奇怪的形狀作爲輸出。
代碼:
#include <stdio.h>
int main()
{
char email[40], first[20],last[20],host[30];
printf("Enter the email= ");
gets(email);
int i;
while(email[i]!='\0')
{
while(email[i]!='.')
{
first[i]=email[i];
i++;
}
while(email[i]!='@')
{
last[i]=email[i];
i++;
}
while(email[i]!='\0')
{
host[i]=email[i];
i++;
}
}
puts(first);
puts(last);
puts(host);
}
您可以發佈您的輸出嗎?知道這些「奇怪的形狀」可能會幫助很多。 –
另外,你應該檢查'gets'的返回值。 'gets'返回一個'NULL'指針,以防萬一找到EOF而不讀取任何字符。 (事實上,你根本不應該使用'gets' - 'gets'不能保護你免受緩衝區溢出的影響) –
然後我應該使用什麼,除了得到 –