分段故障,can';我不明白为什么
删除错误分段故障,can';我不明白为什么,c,arrays,random,segmentation-fault,C,Arrays,Random,Segmentation Fault,删除错误 我完全被这个打败了。有什么帮助吗?这段代码对我来说没有任何错误 segfault可能发生在函数返回后,而不是因为该函数 最后一个打印的数字是253,这是因为之后没有刷新流 printf(“\n%i”,i)并且由于segfault发生在函数之后,因此流从未被刷新 默认情况下,当连接到终端时,stdout是行缓冲的。要刷新stdout请调用fflush(stdout)或打印'\n'字符。此代码对我来说没有任何错误 segfault可能发生在函数返回后,而不是因为该函数 最后一个打印的数字是
我完全被这个打败了。有什么帮助吗?这段代码对我来说没有任何错误 segfault可能发生在函数返回后,而不是因为该函数 最后一个打印的数字是
253
,这是因为之后没有刷新流
printf(“\n%i”,i)代码>并且由于segfault发生在函数之后,因此流从未被刷新
默认情况下,当连接到终端时,stdout
是行缓冲的。要刷新stdout
请调用fflush(stdout)
或打印'\n'
字符。此代码对我来说没有任何错误
segfault可能发生在函数返回后,而不是因为该函数
最后一个打印的数字是253
,这是因为之后没有刷新流
printf(“\n%i”,i)代码>并且由于segfault发生在函数之后,因此流从未被刷新
默认情况下,当连接到终端时,stdout
是行缓冲的。要刷新stdout
请调用fflush(stdout)
或打印'\n'
字符。我的赌注是printf语句
只需将其修改为:
perm_table[i] = rand() % 255;
有时您无法在屏幕上看到输出,因为它仍在printf的缓冲区中\n
确保缓冲区已清除。我的赌注是printf语句
只需将其修改为:
perm_table[i] = rand() % 255;
有时您无法在屏幕上看到输出,因为它仍在printf的缓冲区中<代码>\n
确保缓冲区已清除。嗯……是的。这就是为什么“memcpy(rand_vectors[i],tmp,sizeof(float)*3);”使用float*3。我不知道你这是什么意思。嗯……是的。这就是为什么“memcpy(rand_vectors[i],tmp,sizeof(float)*3);”使用float*3。我不知道你这是什么意思。请不要把标签放在有问题的标题上。对我有用。您确定这就是您正在调用的代码吗?如果perm_table
的大小为254,则符合错误。或者可能是代码中的其他地方?您是否尝试单独编译和运行此代码?它应该很好用!问题一定在其他地方。代码看起来正常;我敢打赌,您没有发布导致问题的代码。这段代码看起来是正确的,确实在这里编译并运行到完成。我注意到我没有把标签放在有问题的标题上。您确定这就是您正在调用的代码吗?如果perm_table
的大小为254,则符合错误。或者可能是代码中的其他地方?您是否尝试单独编译和运行此代码?它应该很好用!问题一定在其他地方。代码看起来正常;我敢打赌,您没有发布导致问题的代码。这段代码看起来是正确的,确实在这里编译并运行到完成。我注意到我
printf("%d\n"); // basically having the \n in the end.