没这么奇怪吧,同样的代码,在我这儿是对的,在你那儿就不对。。。
#include<stdio.h> int main() { char a[100]; int b[100]={0}; int i=0; int j=0; int k=0; int flag=1; for (i=0;i<100;i++) { if (scanf("%c",&a[i])&&a[i]=='\n') break; } for (;k<i;k++) { if (a[k]<='0'||a[k]>='9') flag=0; else if (flag==0) { j++; flag=1; } if (a[k]>='0'&&a[k]<='9') b[j]=(a[k]-'0')+b[j]*10; } k=0; if (a[0]==' ') k=1; for (;k<j+1;k++) printf("%d ",b[k]); printf("\n"); return 0; }