程序运行正常。
在输出语句中,只输出了一个*b,所以,只输出一个大写字母,并且是最后一个“D”。
要理解为什么会这样,要看b是个什么东东:声明中,b是一个指向字符的指针(地址),在循环中,共有两次找到大写字母,所以最终s=2是无疑是正确的。但第一次找到L时,b指向的是L的地址;到第二次找到D时,b又指向D的地址,因b只能存放一个地址,原来指向L的地址已经丢失了。所以等循环完毕,再打印时,只能打印出L。
要想打印出全部大写字母,方法一是在循环内打印,即找到一个打印一个;方法二是找到一个储存一个,最后再一次性全部打印出来。
你应该定义一个字符数组来存储大写字母