首创投资担保:懂c的都我指点一下错误

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 15:21:18
题目是将串p中的字母答谢改成小写,其他的不变!
#include "stdio.h"
#define n 9
fun(char *p)
{int p[n];int i;
for(i=0;i<n;i++)
if (p[i]>='a'&&p[i]<='z')
p[i]-=32;
else
break;
}
main()
{
char p[n]="zxcvZXCV";
fun(p);
printf("p[n]=%s",p[n]);
}
请问这个程序有什么错误啊,谢谢啊
p是一个数组,本来就是地址撒,1楼的高手,你是不是搞错了啊 ?

fun(char *p) 函数定义的参数为指针类型
而你调用的时候没有给定指针

应该是这样调用:
char p[n]="zxcvZXCV";
fun(*p);
printf("p[n]=%s",p[n]);