第1个回答 2011-11-15
#include<stdio.h>
main()
{
void disp(char *s,int n);
char a[20],*q=a;
printf("input a string\n");
scanf("%s",a);
disp((q+3),7);
}
void disp(char *s,int n)
{
int i;
for(i=0;i<=n-1;i++)
{
printf("%c",s[i]);
if(s[i]=='\0')
break;
}
}
这样就可以了,原因是你没弄清声明函数和调用函数的区别。
void disp(char (q+3),int 7);是声明函数
disp( (q+3), 7);是调用函数;
希望对你有帮助!!!
第2个回答 2011-11-15
#include<stdio.h>
void disp(char *,int);
int main(void)
{
char a[20],*q;
q=a;
printf("input a string\n");
scanf("%s",q);
disp((q+3),7);
}
void disp(char *s,int n)
{
int i;
for(i=0;i<=n-1;i++)
{
printf("%c",s[i]);
if(s[i]=='\0')
break;
}
}
~本回答被提问者采纳
第3个回答 2011-11-15
主函数里面的第一句“void disp(char *s,int n);”放到“#include<stdio.h>”的下一行,要不把main函数的整体放在子函数后面!
追问呵呵那样不行 我原先就是那么编的
第4个回答 2011-11-15
main 函数没返回类型, 当语句处理了
追问c 好像不需要返回值吧 不是c++ c++貌似需要
第5个回答 2011-11-15
void disp(char (q+3),int 7);
改为
disp((q+3),7);