#include<stdio.h>
#include<string.h>
int main()
{
char a[]="123456",*pc;
int n=0;
while(*a++)
n++;
pc=&a[n-1];
while(--pc>a)
putchar(*pc);
return 0;
}
下图是输出结果!
如果没有疑问了的话就麻烦选为满意答案!如果还有疑问的话就继续追问!
追问这是考研卷上的一道题,程序是现成的,就是上面的程序,让写出执行结果,但我在电脑上运行了一下,显示编译出错,我又把while(*a++)改为while((*a)++),编译无错,但运行结果是乱码。
我想问
1. 执行结果是 765432 吗?如果不是,结果应该是什么?
2. while(*a++) n++;的执行过程是什么?特别是(*a++),a的变化过程是怎样的
//如果没有疑问的话就麻烦选为满意答案!还有疑问的话就追问!
我想正确的输出结果是我上面给出的程序!
这是考研卷上的一道题,程序是现成的,就是上面的程序,让写出执行结果,但我在电脑上运行了一下,显示编译出错,我又把while(*a++)改为while((*a)++),编译无错,但运行结果是乱码。
我想问
1. 执行结果是 765432 吗?
2. while(*a++) n++;的执行过程是什么?特别是(*a++),a的变化过程是怎样的
谢谢耐心回答!
65432
首先(*a++),如果a是数组,就编不过
如果这样(*pc++);是先算pc++,然后算*pc..