请问下
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
int fun(char *s, int num)
{char t;
int i, j;
for(i=1;i <num-2;i++) /*下标值从1开始,用循环依次取得字符串中的字符*/
for(j=i+1;j <num-1;j++) /*将字符与其后的每个字符比较*/
if(s[i]> s[j]) /*如果后面字符的ASCII码值小于该字符的ASCII码值*/
{ t=s[i]; /*则交换这两个字符*/
s[i]=s[j];
s[j]=t;
}
}
main()
{
FILE *wf;
char s[10];
clrscr();
printf( "输入7个字符的字符串: ");
gets(s);
fun(s,7);
printf( "\n%s ",s);
/******************************/
wf=fopen( "out.dat ", "w ");
s[10]= "BdsihAd ";
fun(s,7);
fprintf(wf, "%s ",s);
fclose(wf);
/*****************************/
}
这个在TC中能运行,为什么在VC上不能?需要修改什么吗?
[解决办法]
#include <stdio.h>
#include <ctype.h>
int fun(char *s, int num)
{char t;
int i, j;
for(i=1;i <num-2;i++) /*下标值从1开始,用循环依次取得字符串中的字符*/
for(j=i+1;j <num-1;j++) /*将字符与其后的每个字符比较*/
if(s[i]> s[j]) /*如果后面字符的ASCII码值小于该字符的ASCII码值*/
{ t=s[i]; /*则交换这两个字符*/
s[i]=s[j];
s[j]=t;
}
}
main()
{
FILE *wf;
char s[10];
system( "cls "); //clrscr(); !!修改
printf( "输入7个字符的字符串: ");
gets(s);
fun(s,7);
printf( "\n%s ",s);
/******************************/
wf=fopen( "out.dat ", "w ");
s[10]= "BdsihAd ";
fun(s,7);
fprintf(wf, "%s ",s);
fclose(wf);
/*****************************/
}
[解决办法]
1.clrscr(); --> system( "cls ");
2.s[10]= "BdsihAd "; --> strcpy(a, "BdsihAd ");
包含必要的头文件:
#include <stdlib.h>
#include <string.h>
[解决办法]
1.clrscr(); --> system( "cls ");
2.s[10]= "BdsihAd "; --> strcpy(s, "BdsihAd ");
包含必要的头文件:
#include <stdlib.h>
#include <string.h>
----------------------------------
结合上面jixingzhong(瞌睡虫星辰) 的代码,然后注意到fun函数和main函数都没有返回值,干脆改为void,然后应该没问题了