置頂
處理字串的函式問題
大家好~~~
如題
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *copyStr(int n,const char *str);
int main(void) {
char srcStr[20],dupStr[80];
int n;
printf("enter a string(len<20):");
scanf("s",&srcStr);
printf("n(n<=4)=");
scanf("d",&n);
dupStr=copyStr(n,srcStr);
printf("s",dupStr);
return 0;
}
char *copyStr(int n,const char *str){
int i,j,len=strlen(str);
char array[80];
for(i=0;i<n;i++){
for(j=0;j<len;j++){
array[len*i+j]=str[j];
}
}
array[len*i]='\0';
return *array;
}
char* copyStr(int n,const char *str)
小弟將傳入的str複製n次後回傳
在main()裡面的呼叫敘述是dupStr=copyStr(n,srcStr);
現在有個問題是我這樣寫會編譯錯誤:
return makes pointer from integer without a cast
我google後還是不懂為什麼這樣會錯?
也不確定我讓函式傳回一個陣列的指標是不是對的?
能否請各位指點一下?
會員登入
(先登入會員才能回覆留言喔!)
