不懂来虚心请教高手!!!
1.以下程序的运行结果是_____
#include<stdio.h>
#include<string.h>
fun(char*s)
{ char a[7];
s=a;
strcpy(a,"look");
}
main()
{ char *p;
fun(p);
puts(p);
}
答案是不确定的值,不懂!!!
2.#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);
}
为什么答案是1711717而我想的结果是1734517 我认为进行了一次循环以后就结束循环了!!!
3.设有以下程序段:
char str[4][10]={"first","second","third","fourth"},*strp[4];
int n;
for(n=0;n<4;n++) strp[n]=str[n];
若k为int型变量且0<=k<4,则对字符串的不正确引用是()
A)strp B)str[K] C)strp[k] D)*strp
答案是A,为什么呢???