iT邦幫忙

0

strcpy()函數的使用問題

編譯器:dev c
在編譯時可以通過 不過有警告
記得印象中stycpy函數的argument是pointer
不太了解使用結構內成員當引數為什麼會出現以下問題
23 10 C:\Users\lochieh\Desktop\dev c++\c\C HW\hw11_13.c [Warning] incompatible implicit declaration of built-in function 'strcpy'

以下為程式碼 希望大家可以幫幫我 謝謝

#include <stdio.h>
#include <stdlib.h>
#define MAX 5
int main(void)
{ 
   int i,sum=0;
   struct data
   {
      char name[10];
      int math;
   }student[MAX]={{"Jenny",63},{"Teresa",88},
                  {"Kimi Chen",57},{"Lily Kao",92},
                  {"David",48}};
                  
   struct data *ptr=student;                             /* 將指標ptr指向data結構student陣列 */
   
   struct data high=student[0];
   
   for(i=0;i<MAX;i++)
   {
      if(high.math < (ptr+i)->math)
      {
         strcpy(high.name,(ptr+i)->name);
         high.math=(ptr+i)->math;
      }
   }   
   printf("%s的數學成績%d分是最高分的\n",high.name,high.math);
   
   printf("\n不及格的名單:\n"); 
   for(i=0;i<MAX;i++)
      if((ptr+i)->math < 60)
         printf("%s的數學成績=%d\n",(ptr+i)->name,
                 (ptr+i)->math);
   
   for(i=0;i<MAX;i++)
      sum+=(ptr+i)->math;
   printf("\n平均成績=%.2f\n",(float)sum/MAX);
   
   system("pause");
   return 0;
}

2 個回答

2
Homura
iT邦研究生 5 級 ‧ 2018-07-06 17:41:04
最佳解答

加入這行試試

#include <string.h>

是的, strcpy() 定義在 <string.h> 裡面,
所以使用 strcpy() 需要 include <string.h>。

感謝 居然是因為沒有加入函數庫OAO~

Homura iT邦研究生 5 級 ‧ 2018-07-06 18:50:53 檢舉

richardsuma
謝謝補充/images/emoticon/emoticon12.gif

0
e6319a5b
iT邦新手 5 級 ‧ 2018-07-08 21:45:06

也是轉學考嗎?

不是 我是高中生~

e6319a5b iT邦新手 5 級 ‧ 2018-07-08 22:48:26 檢舉

喔喔~加油 因為c語言很少看人用 我是要考c語言才讀一些的

C語言很適合拿來建立基礎

我要發表回答

立即登入回答