C语言程序运行结果是什么

如题所述

你给的C语言程序有一个错误,*P='\0';P应该小写,应该改成*p='\0';

改正后的程序的运行结果是C51

完整的程序和运行过程解析如下

#include <stdio.h>

void main()

{

 int a=28,b;

 char s[10],*p;

 p=s;

 do

 {

  b=a%16;

  if(b<10) *p=b+48;

  else *p=b+55;

  p++;

  a=a/5;

 }while(a>0);

 *p='\0';

 puts(s);

}

运行过程解析

因为a==28,p=s,p指向s[0],进入while循环,b=28%16=12,b>10,*p=12+55=67,所以s[0]=='C'(ascii码67),p++,p指向s[1],a=a/5=5

a==5,a>0,继续while循环,b=5%16=5,b<10,*p=5+48=53,所以s[1]=='5'(ascii码53),p++,p指向s[2],a=5/5=1

a==1,a>0,继续while循环,b=1%16=1,b<10,*p=1+48=49,所以s[2]=='1'(ascii码49),p++,p指向s[3],a=1/5=0

a==0,退出while循环,*p='\0',所以s[3]=='\0'(字符串结束符),输出字符数组s,因此运行结果是C51

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜