读书人

最后一个显示如何是乱码

发布时间: 2012-02-23 22:01:35 作者: rapoo

最后一个显示怎么是乱码?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char b[10],a[10];
int i,j,n;
printf ( "请输入你要的号码: ");
gets(a);
n=strlen(a);
printf ( "你输入了%d个号码\n它们是%s\n ",n,a);
for (i=(n-1);i> =0;i--)
for (j=0;j <=(n-1);j++)
b[j]=a[i];
printf ( "它们的到序是:%s ",b);
system ( "PAUSE ");
return 0;
}
指教一下!最后一个输出是乱码是怎么回事啊!

[解决办法]
忘记结尾符号了
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char b[10],a[10];
int i,j,n;
printf ( "请输入你要的号码: ");
gets(a);
n=strlen(a);
printf ( "你输入了%d个号码\n它们是%s\n ",n,a);
for (i=(n-1);i> =0;i--)//何必那么复杂?
b[n-1-i]=a[i];
b[n] = '\0 ';
printf ( "它们的到序是:%s ",b);
system ( "PAUSE ");
return 0;
}

[解决办法]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char b[10],a[10];
int i,j=0,n;
printf ( "请输入你要的号码: ");
gets(a);
n=strlen(a);
printf ( "你输入了%d个号码\n它们是%s\n ",n,a);
for (i=(n-1);i> =0;i--)
b[j++]=a[i];
b[j] = '\0 ';
printf ( "它们的到序是:%s ",b);
system ( "PAUSE ");
return 0;
}

读书人网 >C语言

热点推荐