我有一個家庭任務編寫一個程序,其中用戶輸入他的姓名和輸出應該是首字母縮寫。 問題是,應用這個程序我得到一個重複10次的首字母縮寫。停止for循環
我怎樣才能得到只有一對首字母的輸出?
我已經搜索了網站和這個網站,並試圖應用返回和中斷等事情,但它沒有幫助我。
下面是代碼:
#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main (int argc, string argv[])
{
// get string of the text
string s = GetString();
// output the initials of the name
if (s != NULL)
for (int i = 0; i < argc; i++) // was for (…; i = 0)
{
for (int j = 0, n = strlen(argv[i]); j < n; j++) // was for (…; j = 0)
{
printf ("%c%c", argv[1][0], argv[2][0]);
}
return 0;
}
}
只是一個,但:拋出一個異常.. – Fusseldieb
但首先格式化代碼:) –
注意,你不應該修改這個問題是爲了使答案無效。你要求用戶輸入一些信息,然後完全忽略它。第一次完成內循環後,你可以用'return 0;'從main()退出,這可能不是你想要的。你可以避免在同一個字符串上重複調用'strlen()';那很好。你需要重新訪問這些代碼來清理你的邏輯 - 儘管如果你將修改後的代碼發佈到SO,它應該作爲這裏的補充,而不是替換它。 –