考虑这个C代码来交换两个整数和这五个语句之后:
null
void swap( int *px, int *py) { *px = *px - *py; *py = *px + *py; *px = *py - *px; } |
S1:将生成编译错误 S2:根据传递的参数,可能会在运行时生成分段错误 S3:正确地为所有输入指针执行交换过程,这些指针引用存储在进程可访问的内存位置中的整数 S4:为部分但不是所有有效的输入指针正确执行交换过程 S5:可以加或减整数和指针。
(A) S1 (B) S2和S3 (C) S2和S4
(D) S2和S5 答复: (C) 说明: S2:如果指针px或py处的值为常量,或者px或py指向无效的内存位置,则可能会生成分段错误 S4:可能不适用于所有输入,因为可能会发生算术溢出
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END