一个简单的循环问题,但就是出现问题,请看:
程序代码:
#include<stdio.h> #include<stdlib.h> main(void) { int num[4]; int j,i; for(j=0;j<7;j++) for(i=0;i<4;i++) { num[i]=getchar(); printf("%d###",num[i]); } }
很简单的循环,但是执行后会出现一个 10###,如输入1234,结果就是49###50###51###52###10###
查看ASC码表发现10表示NL为换行符
但是当输入123456789时输出为49###50###51###52###53###54###
无论定义int num[]为多长,输出均为这个,何解?