簡體   English   中英

程序在接受用戶輸入后未提供任何輸出

[英]Program not giving any output after taking input from user

我正在C語言中創建一個非常基本的程序,該程序將用戶輸入的單詞作為輸入,並搜索它在文本文件中出現的次數並給出輸出。 代碼是:

#include<stdio.h>
#include<string.h>
int main()
{
char user[20];
char word[20];
int i,pos=0,sum=0;
char c;
c='a';
printf("Enter the word you want to look for\n");
gets(user);
FILE *p;
p=fopen("D:\\trees.txt","r+");
do
{
    pos=0;
    fscanf(p,"%s",word);
    if(c!=EOF)
    {
        if(strlen(word)==strlen(user))
        {
            for(i=0;i<strlen(user);i++)
            {
                if(word[i]==user[i]||word[i]==user[i]+32||word[i]==user[i]-32)
                {
                }
                else
                {
                    pos=1;
                    break;
                }
            }
        }
        else
        {
            pos=1;
        }
        if(pos=0)
        {
            sum++;
        }
    }
}
while(c!=EOF)

;printf("\nNumber of times %s appears is %d",user,sum);

fclose(p);
}

現在,程序可以很好地處理輸入,但不提供任何輸出。 看起來像這樣: 這是輸出窗口,似乎正在加載

我做錯了什么?

查看注釋,您的代碼應類似於:

#include<stdio.h>
#include<string.h>
#include <ctype.h>
int main()
{
    char user[20];
    char word[20];
    int n, pos=0, sum=0;
    unsigned int i, l;
    FILE *p;

    do {
        printf("Enter the word you want to look for\n");
    } while (gets(user)==0);
    user[strlen(user)-1]= '\0'; // remove trailing \n

    if ((p=fopen("D:\\trees.txt","r+"))==0) {printf("Error opening file\n"); exit(0);}
    do
    {
        pos=0;
        n= fscanf(p,"%s",word);
        if (n==1)
        {
            if(strlen(word)==(l=strlen(user)))
            {
                for(i=0; i<l; i++)
                {
                    if(!(word[i]==user[i]||word[i]==tolower(user[i])||word[i]==toupper(user[i])))
                    {
                        pos=1;
                        break;
                    }
                }
            }
            else pos=1;

            if(pos==0) sum++;
        }
    }
    while(n==1);

    printf("\nNumber of times %s appears is %d",user,sum);

    fclose(p);
    return(1);
}

(進行一些優化和添加)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM