vs结构体输入输出都报错怎么解决。
c语言吧
全部回复
仅看楼主
level 5
如题
2023年12月11日 07点12分 1
level 7
前面加个typedef试试
2023年12月11日 07点12分 2
level 5

2023年12月11日 10点12分 3
level 12
把[0]去掉[滑稽]
2023年12月11日 11点12分 4
level 12
不管是数值还是字符串,输入的时候,都是根据变量的内存地址去输入的
所以对变量输入的时候需要&获取变量的地址
而数组名就是数组第一个变量的地址,所以不需要&获取地址
但你加上了[0],就指向了数组第一个变量的值
你要么写toupiao.name,要么写&toupiao.name[0]
2023年12月11日 11点12分 5
都试过了,还是报错[泪][泪][泪]
2023年12月11日 11点12分
level 1
scanf_s和scanf能一样吗
2023年12月11日 12点12分 6
vs里用scanf也报错啊。
2023年12月11日 12点12分
@Jjjsss😰😰 宏定义加上个取消安全警告
2023年12月11日 12点12分
@Jjjsss😰😰 crt secure no warnings
2023年12月11日 12点12分
@Jjjsss😰😰 百度一下我发的这个
2023年12月11日 12点12分
level 1
也没把他实例化
2023年12月11日 12点12分 7
level 1
还把%s给char了
2023年12月11日 12点12分 8
给char没问题的。。。。问题在于要的是内存地址,不能给字符
2023年12月12日 01点12分
@六翼幻世 你后面说的不能给字符,前面说给char没问题 char是int8,地址现在一般都比8位大的,我说不能把%s给char也没问题吧
2023年12月12日 04点12分
@123你在12138 c语言的%s不就是以char数组第一个变量的内存地址开始输入吗?char数组的第一位不还是char?就算你输入中文,它也是把中文拆分,然后分别存到char里,为啥还能扯到char是1byte的事上[疑问]
2023年12月13日 06点12分
@123你在12138 可能我们俩表达的都不够清楚。。。可能我们俩是同一个意思,我的意思是把字符串给char类型的变量没问题,你说的可能是把char的值给了scanf_s,输入本质上也是个方法,理论上要传的是变量的地址,应该把变量的内存地址传给方法,而不是变量的值[狂汗]
2023年12月13日 06点12分
level 7
结构应定义在主函数前面吧
2023年12月11日 14点12分 9
level 3
只要在第一行加上#define和后面哪一串就可以了,你用scanf运行的时候下面会出现这串字母,你复制就可以了[哈哈]
2023年12月11日 14点12分 10
level 1
都用vs了,建议学会scanf_s和printf_s,不会就百度学
2023年12月11日 15点12分 11
1