如:输入字符串156或+156,转换为整型156输出。输入字符数组-156,转换为整数-156输出。如输入字符串12.33(只要含有非0~9,及+、-号不在第一个字符)则报错。
仅供参考:
#include <stdio.h>
#include <string.h>
char s[80];
int i;
char c;
int main() {
while (1) {
printf("Input a integer:");fflush(stdout);
rewind(stdin);
fgets(s,80,stdin);
if (strlen(s)>10) {
printf("Input too long(>9)!\n");
continue;
}
if (2==sscanf(s,"%d%c",&i,&c)) {
if ('\n'==c) {
printf("%d is a integer.\n",i);
break;
}
}
if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0;
printf("\"%s\" is NOT a integer!\n",s);
}
return 0;
}