我寫的代碼基本上是一個關於要求用戶輸入名字的問題。如果名字是空白的,即用戶忘記輸入名字,那麼代碼會提到用戶忘記輸入名字,然後再詢問。它應該繼續詢問,直到滿足條件。明白我的邏輯,而如果代碼在C? 37行/空格的代碼
// This sample compares user input to what is being typed. If the
// input is void of any charicters before pressing enter, it will print a reply.
#include <stdio.h>
#include <string.h>
int main()
{
char firstname[25];
printf("Please enter your first name:");
fgets(firstname,25,stdin);
// ask to enter in a name. If no name or text is present,
// will reply with no name entered
// and will loop untill a name is pressed and entered
do
{
printf("You pressed enter before entering your first name.\n Please enter first name");
}
while (firstname == NULL || strcmp(firstname,"")==0);
if(!strcmp(firstname, "firstname"))
{
printf("Thank you %s! for entering in your first name",firstname);
}
getchar();
}
它只循環一次。所以,不知道爲什麼它不會繼續,並打破循環說"thank you %s!
任何人都可以給一個不同的例子,所以它的工作,我可以更好地理解它?
它已經搞砸了! :)正確使用語法過濾器 – 2011-01-10 21:35:39
保持縮進清晰!我已經寫了近10年的代碼,當你編寫這樣的代碼時,我有一段不可能讀的時間。如果一位經驗豐富的程序員閱讀這篇文章時遇到困難,那麼是什麼讓你覺得你會更容易? – riwalk 2011-01-10 21:37:33