程序一:
main()
{
char *pstr;
strcpy(pstr,"http://www.it315.org");
printf("pstr = %s\n",pstr);
}
以上程序可以运行, 但加入一个语句后,就运行出错了。
程序二:
main()
{
char *pstr;
strcpy(pstr,"http://www.it315.org");
printf("pstr = %s\n",pstr); /* 竟然显示 %s */
printf("pstr[1] = %c\n",pstr[1]); /*显示为t */
}
是字符串数组和字符串常量的区别吗?
请解答详细一点。
[此贴子已经被作者于2006-12-23 21:14:18编辑过]
----------------解决方案--------------------------------------------------------
程序一:
main()
{
char *pstr;
strcpy(pstr,"http://www.it315.org");
printf("pstr = %s\n",pstr);
}
以上程序可以运行, 但加入一个语句后,就运行出错了。--什么语句说明白点
程序二:
main()
{
char *pstr;
strcpy(pstr,"http://www.it315.org");
printf("pstr = %s\n",pstr); /* 竟然显示 %s */--%c
printf("pstr[1] = %c\n",pstr[1]); /*显示为t */--s%
}
是字符串数组和字符串常量的区别吗?
请解答详细一点。
我试着改了一下
----------------解决方案--------------------------------------------------------
有没有听说过动态分配?
char *pstr = (char *)malloc(100 * sizeof(100));
----------------解决方案--------------------------------------------------------
没有啊~~
我运行了下
是对的~
----------------解决方案--------------------------------------------------------
根本就是没错啊
----------------解决方案--------------------------------------------------------
是我的运行环境有问题,谢谢以上各位了!!
----------------解决方案--------------------------------------------------------
误人误已啊,楼上(2,4,5)几位,明明是程序写错了
----------------解决方案--------------------------------------------------------
7楼的请指教,
----------------解决方案--------------------------------------------------------
误人误已啊,楼上(2,4,5)几位,明明是程序写错了
错了吗?
请指教.....
----------------解决方案--------------------------------------------------------
楼上答错的朋友全部去看看动态分配的有关内容。
----------------解决方案--------------------------------------------------------