搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么&a可以储存字符串,求大神解答?
标题:
为什么&a可以储存字符串,求大神解答?
只看楼主
c迷
等 级:
新手上路
帖 子:2
专家分:1
注 册:2023-4-1
结帖率:
0
楼主
已结贴
√
问题点数:30 回复次数:3
为什么&a可以储存字符串,求大神解答?
#include <stdio.h>
int main()
{
char a;
scanf("%s",&a");
printf("你输入的字符串是:%s",&a");
return 0;
}
字符变量为什么可以存储字符串呢
把printf中的&去了,就会出错。
搜索更多相关主题的帖子:
储存
return
printf
字符
字符串
2023-04-01 11:32
追梦人zmrghy
等 级:
论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
第
2
楼
得分:15
&是取地址符。。。
记录的是,变量在内存中的位置,
置于变量,存放什么。要看变量的类型。。。。。
幼儿园(学前班)的知识点。。。。
char a; //内存中,分配一个8位二进制空间(-128~127)数值。
scanf("%s",&a"); //表示,输入的字符串,存放首地址,是char a的地址。
//字符串,是连续若干个8位二进制空间的组合。
//因为char a只分配了一个8位二进制空间,存放字符串就想出现内存空间(越界行为)。
//内存空间(越界行为),会破坏其它数据,同时存放的字符串,也可能会被其它数据所破坏。。。
//无效内存空间,被破坏的数据,打印出现乱码很正常现象。。。。
[此贴子已经被作者于2023-4-1 12:17编辑过]
2023-04-01 11:53
pvm2000
等 级:
版主
威 望:
24
帖 子:159
专家分:256
注 册:2022-12-22
第
3
楼
得分:15
printf("你输入的字符串是:%s",&a"); 和 下一行中 &a“ 应为 &a
字符变量只能放一个字符,应该用%c输出。如果你用 %s 输出,则从该地址(&a) 输出字符串,遇 '\0' 才停止。
建议先多看看书
2023-04-04 00:18
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-511763-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.011791 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved