有个C语言编的程序,高手帮忙看一下哪错了

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:25:26
就是想编一个输入字符,然后按ASC码的大小从小到大输出
在VC6.0下编译的
0个错误,7个警告
在DOS窗口下输入字符后出来一对话框
说什么错误,发送错误报告给微软之类的东西
高手帮忙看一下
下面是原程序
#include<stdio.h>
#include<string.h>
void main()
{
int i,j,k,t;
char a[50];
printf("please enter words:");
gets(a);
for(i=1;i<=strlen(a)-1;i++)
{
for(j=1;j<=strlen(a)-1-i;j++)
{
if (strcmp(a[j],a[j+1])>0)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
puts(a);
}

#include<stdio.h>
#include<string.h>
void main()
{
int i,j,k,t;
char a[50];
printf("please enter words:");
gets(a);
int n = strlen(a);
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if (a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
puts(a);
}

for(i=1;i<=strlen(a)-1;i++)
{
for(j=1;j<=strlen(a)-1;j++)
{
if (strcmp(a[i],a[j])>0)
{
t=a[i];
a[i]=a[j];
a[j]=t;
估计这样就行了

我改的:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i,j,k,t;
char a[50];
printf("please enter words:");
gets(a);
for(i=1;i<=strlen(a)-1;i++){
for(j=1;j<=strlen(a)-1-i;j++){
if (strcmp(&a[j