C语言中缓存读取问题
#include"leap.h"int main(int argc, char* argv[]){ int year = 1900; int* pYear = &year; judgeScf(pYear); return EXIT_SUCCESS;}int judgeScf(int** tempYear) { char bufTemp = '\0'; if (tempyear == NULL) { return FALSE; } do { if (**tempyear <= MAXYEAR && **tempyear >= MINYEAR) { printf("Please input year!\n"); } else { printf("Data error! Please input year!\n"); } scanf("%d", *tempyear); scanf("%1[^\n]",&bufTemp); /*判断缓存中的内容,如果得到的首字符是回车或者'\0'即视为输入非法*/ if(!(bufTemp == '\0' || bufTemp == '\r')){ printf("The data has forbidden character!"); return 0; } bufTemp = '\0'; } while (**tempyear > MAXYEAR || **tempyear < MINYEAR); return TRUE;}