作者kahang (總會有辦法的)
看板C_and_CPP
標題[問題] strupr
時間Thu Sep 3 10:01:31 2009
請問一下
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
1F:推 th19883617:試試看改成char *s=new char [10]; 09/03 10:04
2F:→ th19883617:strcpy(s,"aBcDeF"); 再丟進去 09/03 10:05
3F:→ kahang:這樣可以 可是我在想原本的 char* 出了什麼問題啊 orz 09/03 10:07
4F:→ th19883617:沒有配置空間給他 09/03 10:07
5F:→ kahang:所以char *s="aBcDeF";算是不好的coding習慣嗎 09/03 10:23
6F:→ kahang:應該用char s[]="aBcDeF";或 new 之類的 09/03 10:24
7F:推 LPH66:置底十誡之四 09/03 10:45
8F:推 marcX:根據strupr的參數宣告應該會直接修改原本的內容。 09/03 10:45
9F:→ LPH66:strupr 會改動所給的字串, 所以不能使用此種方式 09/03 10:45