涉及C语言字符串问题
答案:2 悬赏:70 手机版
解决时间 2021-03-27 01:28
- 提问者网友:太高姿态
- 2021-03-26 09:37
涉及C语言字符串问题
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-03-26 10:56
printf 输出%s 和 特定条件下的内存布局问题,对于某些情况
char a[] = "This is a book"; 和char c[4]; 是连续布局的而且c[4] 放在a[]的前面(栈式分配)并且连续。
【a】【b】【c】【\n】【This is a book\0】
c------------------c--a-------------------a
输出c时,从ab直到\0输出, 所以输出为
abc
This is a book追问刚刚吃饭去了,才看到回答
【a】【b】【c】后边为什么是\n呢?scanf()应该不会自动把\n变成\0么追答%c手到什么字符就是什么字符,不会改的来自:求助得到的回答
char a[] = "This is a book"; 和char c[4]; 是连续布局的而且c[4] 放在a[]的前面(栈式分配)并且连续。
【a】【b】【c】【\n】【This is a book\0】
c------------------c--a-------------------a
输出c时,从ab直到\0输出, 所以输出为
abc
This is a book追问刚刚吃饭去了,才看到回答
【a】【b】【c】后边为什么是\n呢?scanf()应该不会自动把\n变成\0么追答%c手到什么字符就是什么字符,不会改的来自:求助得到的回答
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-03-26 11:52
c语言中字符串是需要以\0结尾的,printf输出字符串直到遇到\0才知道什么时候结束。所以存储mrsoft需要7个字节。 char Resever[7]={1}是初始化数组,初始化为1000000。
希望能解决您的问题。追问这个解释在百度上都看到了,可是没解决我问的问题
希望能解决您的问题。追问这个解释在百度上都看到了,可是没解决我问的问题
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯