这是《c primer plus》上一道课后题。
这是最开始做的,不带循环的,没什么问题。
接下来我加入循环后出现了问题。
比想要的多打印了一句“在字母表里的位置是-1”,我想这是while循环了a,b和c这三遍后又运行了一遍循环,而且这一遍a的值不是字母。然后我想:我输入abc打了一个回车确认输入,abc应该是个字符串,字符串结尾不是又一个'\0'的结尾符嘛,那这多出来的循环或许就是它了。
于是,我把判断符号由文件结尾符EOF(ctrl + z)换成了字符串结尾符 ‘\0' ,如果这次没有多出来的一句话那证明就是这个’\0‘捣的鬼。让我们看看接下来的运行结果。
哦。结果还是这样。这是怎么回事呢?求解答。。。