的問題:當輸入爲*和#,用戶需要重新輸入名稱。有一個最大輸入限制是25個字符,結束輸入輸入鍵。名稱不能顯示
#include <stdio.h>
#include <conio.h>
#define MAX 25
char welcomeMsg[]= "Please enter your name without '*' or # " ;
char errorMsg[]= "\nError, please re-type your name. ";
void main(void)
{
int j;
char input;
char name[MAX];
j=0;
puts(welcomeMsg);
do
{
input = getche();
if(input == '*' || input =='#')
{
puts(errorMsg);
j = 0;
continue;
}
scanf("%s", name[j]);
j++;
} while (j < MAX && input != '\r');
name[j] = NULL;
puts("\nYour name is");
puts(name);
}
問題是什麼? –
您不必在字符串文字中明確添加'\ 0'。 –
'main'被錯誤地聲明!應該是'int main(int argc,char ** argv)'。 'getche'沒有定義。您應該測試'scanf'的結果(掃描的項目數) –