gpt4 book ai didi

c - 结构的变量值在c中自动改变

转载 作者:太空宇宙 更新时间:2023-11-04 00:34:02 25 4
gpt4 key购买 nike

我在 main 函数中用 7 初始化了 q.size,然后首先它打印 q.size 值为 7,但是在 scanf() 语句之后 q.size 的值变为 0。为什么会发生这种情况以及如何解决它???

#include <stdio.h>
#include <stdlib.h>
struct sample
{
int size;
int rear;
int front;
};

int main()
{
struct sample q;
q.size=7;
char Ans;

printf("%d\n",q.size);

printf("Enter character : (y/n)");
scanf("%s",&Ans);

printf("%d",q.size);
return 0;
}

scanf() 后 q.size 的预期结果为 7实际结果为0

最佳答案

您正在将字符串 %s 读入 char 变量,这会导致内存损坏。您必须将 %c 放入 scanf 而不是 %s 才能读取一个字符。

关于c - 结构的变量值在c中自动改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57055450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com