请高手帮我解决一下这道C语言题目,谢谢!
下面的程序的运行结果为()#include<stdio.h>#include<string.h>fun(char*w,intn){chart,*s1,*s2;s1=w;s...
下面的程序的运行结果为( )
#include<stdio.h>
#include<string.h>
fun( char *w,int n)
{
char t,*s1, *s2;
s1=w; s2=w+n-1;
while(s1<s2) {t=*s1++; *s1=*s2--; *s2=t;}
}
main( )
{
char *p;
p="1234567";
fun(p,strlen(p));
puts(p);
}
A 7654321 B 1714171 C 1711717 D 7177171
请简略的说一下过程,谢谢!!
strlen:统计字符串中字符的个数(不包括终止符‘\0') 展开
#include<stdio.h>
#include<string.h>
fun( char *w,int n)
{
char t,*s1, *s2;
s1=w; s2=w+n-1;
while(s1<s2) {t=*s1++; *s1=*s2--; *s2=t;}
}
main( )
{
char *p;
p="1234567";
fun(p,strlen(p));
puts(p);
}
A 7654321 B 1714171 C 1711717 D 7177171
请简略的说一下过程,谢谢!!
strlen:统计字符串中字符的个数(不包括终止符‘\0') 展开
1个回答
展开全部
1、1234567
s1指针指向1,s2指针指向7
t=*s1++ s1指针指向2(t得到1的值 1)
s1=*s2-- s2指针指向6(值发生改变1734567)
*s2=t; (值发生改变1734517)
2、
s1指针指向2,s2指针指向6
t=*s1++ s1指针指向3(t得到2的值 7)
s1=*s2-- s2指针指向5(值发生改变1714517)
*s2=t; (值发生改变1714717)
3、
s1指针指向3,s2指针指向5
t=*s1++ s1指针指向4(t得到3的值 1)
s1=*s2-- s2指针指向4(值发生改变1711717)
s1=*s2-- s2指针指向5(值发生改变1711717)
4、函数退出
#include<stdio.h>
#include<string.h>
void fun( char *w,int n)
{
char t,*s1, *s2;
s1=w; s2=w+n-1;
while(s1<s2) {t=*s1++; *s1=*s2--; *s2=t;}
}
void main( )
{
char p[10]="1234567";
fun(p,strlen(p));
puts(p);
}
s1指针指向1,s2指针指向7
t=*s1++ s1指针指向2(t得到1的值 1)
s1=*s2-- s2指针指向6(值发生改变1734567)
*s2=t; (值发生改变1734517)
2、
s1指针指向2,s2指针指向6
t=*s1++ s1指针指向3(t得到2的值 7)
s1=*s2-- s2指针指向5(值发生改变1714517)
*s2=t; (值发生改变1714717)
3、
s1指针指向3,s2指针指向5
t=*s1++ s1指针指向4(t得到3的值 1)
s1=*s2-- s2指针指向4(值发生改变1711717)
s1=*s2-- s2指针指向5(值发生改变1711717)
4、函数退出
#include<stdio.h>
#include<string.h>
void fun( char *w,int n)
{
char t,*s1, *s2;
s1=w; s2=w+n-1;
while(s1<s2) {t=*s1++; *s1=*s2--; *s2=t;}
}
void main( )
{
char p[10]="1234567";
fun(p,strlen(p));
puts(p);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询