#include <stdio.h>
#include <ctype.h>
#include <conio.h>
void ChangeStr(const char *String);
int main(void)
{
char str[] = "The C programme";
ChangeStr(str);
puts(str);
_getch();
return 0;
}
void ChangeStr(const char *String)
{
char *Source = (char *)String;
while (*Source)
{
*Source++ = toupper(*Source);
}
}
在ChangeStr()中为什么可以对参数const字符串进行修改呢?还有const变量存储在内存哪里的?
不明白,有哪位高手解释一下,万分感激!
如果不闲麻烦的话E-Mail Me:hrp313@sina.com Thank you very much!
还有个问题:
#include <stdio.h>
void Test(char *p);
void main()
{
char *p = "hello";
Test(p);
printf("%s\n",p);
}
void Test(char *p)
{
p = "world";
}
这个程序输出是hello,是不是说明指针p不能对常量字符串"hello"进行修改
但是上上面那个程序怎么解释呢?