簡體   English   中英

我正在嘗試使字符串僅接受字母和空格,但不帶數字

[英]I'm trying to make a string accept only letters and space BUT NO NUMBERS

我從理論上講應該是這樣,但似乎不起作用。 幫助人

    int main()
    {
       char input[50];
       int i;

    do{
      printf("ENTER A CHARACTER:");
      scanf("%s",&input);

    if(isalpha(input)!=0){
       printf("YOU INPUTTED A CHARACTER");
       i++;
    }else{
       printf("INVALID INPUT\n");
    }

    }while(i!=1);

    }

isalpha使用整數作為參數。 您正在提供一個char數組。

如果要輸入多個字符(很難從此代碼中分辨出來),則應循環輸入[[]]中給定的字符數。 如果您只給出一個字符,則退出,但是如果您給出多個,則繼續前進:

#include <stdio.h>
#include <string.h>

int main()
{
    char input[50];
    int i = 0, j;
    size_t len = 0;

    do
    {
        printf("ENTER A CHARACTER:");
        scanf("%s",&input);

        len = strlen(input);

        for(j = 0; j < len; j++) {
            if(isalpha(input[j]))
            {
                i++;
                printf("YOU INPUTTED A CHARACTER %d\n", i);
            } 
            else 
            {
                printf("INVALID INPUT\n");
                break;
            }
        }
    } while(i!=1);
}

暫無
暫無

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

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