当前位置: 代码迷 >> C语言 >> [求助]函数问题
  详细解决方案

[求助]函数问题

热度:216   发布时间:2006-08-11 09:41:48.0
[求助]函数问题

定义一个函数mid( 字符串 str1[], 起始位置 ,取字符个数 ),返回字符串str2[],以下是我的代码,不知道错在哪,请各位高手指教!

#include<stdio.h>
char mid(char str1[],int n,int n1);
void main()
{
char str1[30];
int n1,n;
printf("输入字符串");
gets(str1);
printf("n_");
scanf("%d",&n);
printf("n1_");
scanf("%d",&n1);
printf("%c",mid(str1,n,n1));
}
char mid(char str1[],int n,int n1)
{
char str2[20];
int i;

char *p=str1;
p+=n;
for(i=0;i<n1;i++)
{
str1[i]=*p;
p++;
}
return str2[30];
}



搜索更多相关的解决方案: 函数  

----------------解决方案--------------------------------------------------------

楼主的意思是不是从字符串str1中的第n个字母开始取n1个字符返回?
你的函数是char型,只能返回一个字符
#include<stdio.h>
char *mid(char str1[],int n,int n1);
char str2[20];
void main()
{
char str1[30];
int n1,n;
printf("输入字符串");
gets(str1);
printf("\n_");
scanf("%d",&n);
printf("n1_");
scanf("%d",&n1);
printf("%s",mid(str1,n,n1));

}
char *mid(char str1[],int n,int n1)
{

int i;

char *p=str1;
p+=n;
for(i=0;i<n1;i++)
{
str2[i]=*p;
p++;
}
return str2;
}

不知道是不是你的意图?


----------------解决方案--------------------------------------------------------

是从字符串str1中的第n个字母开始取n1个字符返回.


要把函数也要定义为指针型的?


----------------解决方案--------------------------------------------------------
以下是引用编程新贵在2006-8-11 9:55:38的发言:

是从字符串str1中的第n个字母开始取n1个字符返回.


要把函数也要定义为指针型的?

你定义的函数返回单值,应该定义成一个返回指针的函数。


----------------解决方案--------------------------------------------------------
明白了,我菜死了,谢谢啊!!
----------------解决方案--------------------------------------------------------
  相关解决方案