讲解一下程序,要详细过程!

11、下面程序段的运行结果是 char a[]="lanuage",*p; p=a; while(*p!='u') {printf("%c",*p-32);p++;}
A、 LANGUAGE B、 language C、 LAN D、 langUAGE

结果是LAN

 char a[]="lanuage",*p;
 p=a; //p指向a的第一个字符
 while(*p!='u') //循环到u则停止
 {
     printf("%c",*p-32); //输出*p-32,小写字母-32就是大写字母了。
     p++; //下一个字符
 }

答案选C,p是指针,指向字符串a首地址,从首字母开始循环输出 ,输出时*p-32将小写字符转换为大写字母,直到碰到字母'u'结束。