程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> struct-結構體中字符型數組為什麼用strcmp時與預期結果不符?

struct-結構體中字符型數組為什麼用strcmp時與預期結果不符?

編輯:編程解疑
結構體中字符型數組為什麼用strcmp時與預期結果不符?

typedef struct person{
char name[32];
char sex;
char age;
char num[16];
char addr[128];
} people_t, *people_p, **people_pp;

int main()
{

people_t x;
char tmp[20] = "zhangsan";
people_p c = &x;
*(c->name)  = "zhangsan";
int z = strcmp(tmp, c->name);
printf("%s\n%d\n", c->name, z);
system("pause");
return 0;
}

1.代碼是這樣,為什麼兩個都是“zhangsan”,但是用strcmp比較出來的值為-1,明顯與預期結果不符,
不知道哪出錯了?
2.還有*(c->name)  = "zhangsan";這行代碼對嗎?如果不能這樣寫,那要怎麼寫?

最佳回答:


**

 *(c->name)  = "zhangsan";

**
改為

 strcpy(c->name,"zhangsan");

指針聲明和數組聲明(例如 char *a 和 char a[] )具體都有哪些區別

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved