#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[10];
int a=30;
//cin>>a;
int i=0,c;
while(a>0)
{
c=a%16;
a/=16;
if(c>9)
s[i++]=c-10+'A';
else
s[i++]=c+'0';
}
int len=strlen(s);
cout<<"len="<<len<<endl;
for(i=len-2;i>=0;i--)
cout<<s[i];
return 0;
}
你忘记给字符串s结尾添加'\0'
了。在循环结束后面加上s[i] = '\0';