Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
C 检测到gdb-SIGSEGV,但无法确定哪个功能和哪一行_C_Gdb_Segmentation Fault - Fatal编程技术网

C 检测到gdb-SIGSEGV,但无法确定哪个功能和哪一行

C 检测到gdb-SIGSEGV,但无法确定哪个功能和哪一行,c,gdb,segmentation-fault,C,Gdb,Segmentation Fault,请检查一下主管道。我将字符串赋值为char*s3=“0,9,8,7,6,5,4,3,2,1”并且在运行时将有一个SIGSEGV。当我去注释这行时,就没有SIGSEGV了。那么为什么这个字符串赋值会导致SIGSEGV呢?很可能是修改了一个字符串文本,导致了未定义的行为(UB) s3指向存储在只读实现定义内存中的字符串文字,任何修改该字符串文字的尝试都会导致未定义的行为。事实上,你很幸运,你的代码崩溃了,因为UB不一定要求崩溃,但它可以给你奇怪的或字面上的任何结果


请检查一下主管道。我将字符串赋值为
char*s3=“0,9,8,7,6,5,4,3,2,1”并且在运行时将有一个SIGSEGV。当我去注释这行时,就没有SIGSEGV了。那么为什么这个字符串赋值会导致SIGSEGV呢?

很可能是修改了一个字符串文本,导致了未定义的行为(UB)

s3
指向存储在只读实现定义内存中的字符串文字,任何修改该字符串文字的尝试都会导致未定义的行为。事实上,你很幸运,你的代码崩溃了,因为UB不一定要求崩溃,但它可以给你奇怪的或字面上的任何结果