社区
C语言
帖子详情
c语言小问题
henujava
2012-02-14 02:30:10
#include<stdio.h>
int main(int argc, char *argv)
{
char *s="AAA";
printf("%s",s);
s[0] = 'B';
(此处出现了异常,为什么呢)
printf("%s",s);
}
...全文
185
15
打赏
收藏
c语言小问题
#include int main(int argc, char *argv) { char *s="AAA"; printf("%s",s); s[0] = 'B';(此处出现了异常,为什么呢) printf("%s",s); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DyanWang
2012-02-15
打赏
举报
回复
char *s="AAA";
s指向的空间在代码区,不可以对代码区的内容进行更改。
如果是char s[]= "AAA";
s[0] = 'B' //这样是可以的,此时的是在栈区分配空间存放字符串
yushanjuan
2012-02-15
打赏
举报
回复
哇,小胖墩终于找到组织了。大学时就很喜欢学C语言啊,特别喜欢谭浩强老师编著的《C程序设计》。
VS
2012-02-15
打赏
举报
回复
我还没弄明白命令行变元如何用呢
querdaizhi
2012-02-15
打赏
举报
回复
char *s="AAA";
s作为一个指针指向一个字符串常量“AAA”,字符串常量是不可修改的。
可以使用字符数组char s[] = "AAA";
tusong86
2012-02-15
打赏
举报
回复
char *s="AAA";这个语句是这样一个意思,首先系统会在只读存储区里面分配一块空间(4个字节),将3个'A'和一个'\0'放在里面,然后定义一个指向char型的指针,让该指针指向刚刚分配的只读存储区,只读存储区也是内存的一部分,由于只读存储区里面的值是不能改动的,所以通过改动s所指向的只读存储区会导致非法内存访问,也就是通常所说的段错误。系统分配的那块只读存储区也可以用"AAA"来索引,你可以在程序里面执行这样一条语句,printf("%c\n", "AAA"[0]);,那么结果就是这个只读存储区的第一个字母。
mzlogin
2012-02-14
打赏
举报
回复
[Quote=引用 9 楼 dock_wang 的回复:]
你没分清堆和栈
[/Quote]
这个...和堆无关.
王健龙
2012-02-14
打赏
举报
回复
你没分清堆和栈
ProgrammingRing
2012-02-14
打赏
举报
回复
s指向常量区……
AnYidan
2012-02-14
打赏
举报
回复
[Quote=引用 6 楼 wy1043759728 的回复:]
常量字符串不可以修改
[/Quote]
修改常量字符串是未定义的行为
wy1043759728
2012-02-14
打赏
举报
回复
常量字符串不可以修改
三文鱼
2012-02-14
打赏
举报
回复
楼上正解
面包大师
2012-02-14
打赏
举报
回复
"AAA"是个常量字符串,然后char *s="AAA";是让s指向了这个字符串的首地址,是一段不可写的内存
赵4老师
2012-02-14
打赏
举报
回复
#pragma comment(linker,"/SECTION:.rdata,RW")
开头加这句可以让常量区可写。
IVERS0N
2012-02-14
打赏
举报
回复
char *s="AAA"; 常量字符串 此串不可以修改
测试NULL
2012-02-14
打赏
举报
回复
供参考
http://topic.csdn.net/u/20111122/20/f85d59fb-6ed4-46c2-bdc2-2a09c3488c27.html
纯C版的微信打飞机游戏
本游戏模拟微信打飞机游戏,不过略有不同,玩一下你就知道了^_^ 资源包含源代码、游戏素材、可执行程序(编译好了的) ps:游戏使用纯
C语言
,没使用任何游戏引擎
22个
C语言
小白常见
问题
总结
C/C++常见
问题
总结,初学者必看!
C语言
——弹跳小球
实现一个反复横跳的小球 O
初始
C语言
——小球落地
问题
printf("在n次落地时共经过%.2lf米,反弹%.2lf米\n",s,h1);//防止visualstudio2013以上版本scanf报错,vc6.0环境可忽略。printf("您输入的高或者次数有
问题
\n");printf("请输入小球刚开始离地面的高度h\n");printf("每次小球落地后返回原高度的一半\n");//h表示小球刚释放时离地面的距离。printf("请输入小球落地的次数n\n");...
【
C语言
经典100题】小球自由落体
C语言
经典100题
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章