C的~巨急

发布网友 发布时间:2024-10-24 06:39

我来回答

3个回答

热心网友 时间:2024-11-14 08:33

运行结果当然是aaaaa了,

在ch()函数中,
定义了参数char *p,用p指向ps,
随后p+=100,
就是将p又指向了ps后面的偏移了100位的地址。

在上述过程中,可以看出ps的指向的地址并没有变化。

所以输出的还是aaaaa

当然,如果这么改,ps的指向就变了:
#include<string.h>
char * ch(char *);
void main()
{
char *a[]={"aaaaa","bbbbb","ccccc"};
char *ps=a[0];
ps=ch(ps);
printf("%s\n",ps);

}
char * ch(char *p)
{
p+=100;
return p;
}

热心网友 时间:2024-11-14 08:33

考人,是编程的吧?看不懂哦,这么高悬赏分居然无人问津,唉,可惜了…

热心网友 时间:2024-11-14 08:34

#include<stdio.h>
void main()
{
int j,i,n,k,m,a[100];
printf("input the number of mongkey :\n(monkey<100)\n");
scanf("%d",&m);
j=m;
printf("input the tao tai shu zi:\n(n<m)\n");
scanf("%d",&n);

for(i=0;i<m;i++)
a[i]=i+1;

i=0;k=0;
while(j>1)
{
if(a[i]!=0)
k++;
if(k==n)
{
a[i]=0;
k=0;
j--;
}
i++;
if(i==m)
i=0;
}
for(i=0;i<m;i++)
if(a[i]!=0)
printf("the da wang shi :%d\n",a[i]);
getch();

}
问题补充:for(i=0;i<m;i++)
a[i]=i+1;

i=0;k=0;
while(j>1)
{

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com