分割错误与结构之间的关系

时间:2018-10-27 19:49:07

标签: c struct segmentation-fault scanf

当我尝试将$node3 = $xp->query("//p[@class='product-desc' and not(span/@class='product-model')]"); 编号为结构体时,我得到了一些#include <iostream> using namespace std; double ret; struct SampleClass{ SampleClass(){ ret=magicFunction(); } double magicFunction(){ return 2.5; } }; int main() { SampleClass sample; std::cout<<ret; return 0; } 。 我不知道在这种情况下Segmentation fault与故障之间是否存在关系。 我想我分配了很好的内存,在过去的两个小时中,我读到了有关此错误的信息,到处都读到有关内存分配问题的信息,但是我在代码中看不到这一点。 我的代码:

scanf

1 个答案:

答案 0 :(得分:1)

  

import pandas as pd import matplotlib.pyplot as plt fig, ax = plt.subplots() df = pd.DataFrame({'x':[100,60,1,1,1,5,4,4], 'y':[100,125,1,2,3,10,10,9],'id':[0,1,2,2,2,3,3,3]}) for i, g in df.groupby('id'): if(i==0): g.plot(x='x',y='y',ax=ax,marker='o',title="Alternative Routes",label="Start Punkt") elif(i==1): g.plot(x='x',y='y',ax=ax,marker='o',title="Alternative Routes",label="End Punkt") else: g.plot(x='x',y='y',ax=ax, title="Alternative Routes",label=i) plt.show()

正如已经指出的那样,这应该是:

scanf("%15i[^\n]", current->phonenumber);

(您在scanf("%15i", &current->phonenumber); 中也重复了同样的错误。)

通常,应该使用对编译器可用的 maximum 警告进行编译。一个好的编译器会警告您,当需要指针时,您正在将readSize传递给int

  

我想保存电话号码,所以最多15个数字长度的整数

在典型的系统上,scanf。这意味着您可以在该变量中存储的最高值为sizeof(current->phonenumber) == 4。只有10位数字,而且并非每 10位数字都适合。

如果您希望能够存储每个可能的15位数字,则需要以不同的方式存储它们(在INT_MAX == 2147483647char phone[16]中)。