[問題] strupr

看板C_and_CPP作者 (總會有辦法的)時間14年前 (2009/09/03 10:01), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串1/1
請問一下 strupr()的參數原型我查過是 char *strupr(char *s) 可是下面的程式不會過 #include <string.h> int main() { char *s="aBcDeF"; printf("%s",strupr(s)); return 0; } 可是宣告成 char s[]="aBcDeF"; 就可以了 所以strupr只能吃s[]而不能吃 *s嗎 囧 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.99.158

09/03 10:04, , 1F
試試看改成char *s=new char [10];
09/03 10:04, 1F

09/03 10:05, , 2F
strcpy(s,"aBcDeF"); 再丟進去
09/03 10:05, 2F

09/03 10:07, , 3F
這樣可以 可是我在想原本的 char* 出了什麼問題啊 orz
09/03 10:07, 3F

09/03 10:07, , 4F
沒有配置空間給他
09/03 10:07, 4F

09/03 10:23, , 5F
所以char *s="aBcDeF";算是不好的coding習慣嗎
09/03 10:23, 5F

09/03 10:24, , 6F
應該用char s[]="aBcDeF";或 new 之類的
09/03 10:24, 6F

09/03 10:45, , 7F
置底十誡之四
09/03 10:45, 7F

09/03 10:45, , 8F
根據strupr的參數宣告應該會直接修改原本的內容。
09/03 10:45, 8F

09/03 10:45, , 9F
strupr 會改動所給的字串, 所以不能使用此種方式
09/03 10:45, 9F
文章代碼(AID): #1AdoD_19 (C_and_CPP)