【发布时间】:2020-08-22 07:31:34
【问题描述】:
#include <stdio.h>
int main(void)
{
char b[5];
scanf("%4s%4s", b, b);
//My input: "qwer<Enter>sgsh<Enter>"
printf("%s", b);
//Output: sgsh
}
C99: 在上一个序列点和下一个序列点之间,一个对象应该有它的存储值 通过表达式的评估最多修改一次。
在这种情况下,我正在修改b twice 的值。不是undefined behavior吗?
【问题讨论】: