这是第一次碰到想不通的地方,在解决之前记录一下。
程序的目的是计算输入的字符数。利用getchar()将输入的字符赋值给变量a,每输入一个字符,初始值为0的变量i自动加一。然而,逐语句调试时, 进入循环语句while后,第一轮运行到花括号内的语句a=getchar()时不需要输入字符,而变量a的值自动变为二进制10;循环第二轮开始,i加一,至运行到a=getchar(),提示输入新字符,也就出现了输入一个字符,i加了两次的情形。更神奇的是,每次输入字符后的第一轮循环运行到a=getchar(),a都会被自动赋值为二进制10。
问题还没解决,先存疑!