请高手帮我解决一下这道题,谢谢!
下面程序运行的结果为()#include<stdio.h>#defineSIZE12main(){chars[SIZE];inti;for(i=0;i<SIZE;i++)...
下面程序运行的结果为( )
#include<stdio.h>
#define SIZE 12
main( )
{
char s[SIZE]; int i;for(i=0;i<SIZE;i++) s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++) printf("%c",s[i]);
printf("\n"); }
sub(char*a,int t1,int t2)
{
char ch;
while (t1<t2)
{
ch= *(a+t1);
*(a+t1)= *(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
请简略的说一下过程,谢谢!! 展开
#include<stdio.h>
#define SIZE 12
main( )
{
char s[SIZE]; int i;for(i=0;i<SIZE;i++) s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++) printf("%c",s[i]);
printf("\n"); }
sub(char*a,int t1,int t2)
{
char ch;
while (t1<t2)
{
ch= *(a+t1);
*(a+t1)= *(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
请简略的说一下过程,谢谢!! 展开
1个回答
展开全部
你的程序有点问题,以下是修改后的:内容没变
#include<stdio.h>
#define SIZE 12
void sub(char *a,int t1,int t2)//先定义函数,不然主函数无法识别
{
char ch;
while (t1<t2)//将数组中的对应位(t1+t2=size-1)相比较,将较大值提前。
{
ch= *(a+t1);
*(a+t1)= *(a+t2);
*(a+t2)=ch;//置换出较大值
t1++;//后移位
t2--;//前移位
}
}
main( )
{
char s[SIZE]; int i;for(i=0;i<SIZE;i++) s[i]='A'+i+321;//将ASC编码存入数组
sub(s,7,SIZE-1);//调用函数
for(i=0;i<SIZE;i++)
printf("%c",s[i]);//输出
printf("\n");
}
#include<stdio.h>
#define SIZE 12
void sub(char *a,int t1,int t2)//先定义函数,不然主函数无法识别
{
char ch;
while (t1<t2)//将数组中的对应位(t1+t2=size-1)相比较,将较大值提前。
{
ch= *(a+t1);
*(a+t1)= *(a+t2);
*(a+t2)=ch;//置换出较大值
t1++;//后移位
t2--;//前移位
}
}
main( )
{
char s[SIZE]; int i;for(i=0;i<SIZE;i++) s[i]='A'+i+321;//将ASC编码存入数组
sub(s,7,SIZE-1);//调用函数
for(i=0;i<SIZE;i++)
printf("%c",s[i]);//输出
printf("\n");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询