Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结构';s变量值在c中自动更改_C - Fatal编程技术网

结构';s变量值在c中自动更改

结构';s变量值在c中自动更改,c,C,我在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;

我在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;
}
#包括
#包括
结构样本
{
整数大小;
内部后部;
内锋;
};
int main()
{
结构样本q;
q、 尺寸=7;
查尔安斯;
printf(“%d\n”,q.size);
printf(“输入字符:(是/否)”;
scanf(“%s”、&Ans);
printf(“%d”,q.size);
返回0;
}
scanf()之后q.size的预期结果为7
实际结果是0

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

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

哪种语言?哪种语言?