关于C语言的一道问题如下,为什么答案是AUGN而不是LANG?

大哥大姐,请教下,关于C语言的一道问题如下,为什么答案是AUGN而不是LANG?
最新回答
酒还酹江月

2024-04-24 08:13:37

首先正确答案应该是ANGU,AUGN也是错的。

下面是分析:

因为*p++是先使用p的当前值,然后自加。

当*p++!='u'执行完后,p已经完成了自加,指向了下一个字符。

开始p指向l,l不等于u,执行循环前,p完成自加指向a,然后输出'a'-'a'+A'等于'A'。

现在p指向a,a不等于u,执行循环前,p完成自加指向n,然后输出'n'-'a'+A'等于'N'。

现在p指向n,n不等于u,执行循环前,p完成自加指向g,然后输出'g'-'a'+A'等于'G'。

现在p指向g,g不等于u,执行循环前,p完成自加指向u,然后输出'u'-'a'+A'等于'U'。

现在p指向u,u等于u,退出循环。

所以,输出是:ANGU

下面是运行截图:

运行截图