【发布时间】:2015-10-12 17:03:05
【问题描述】:
在最近的帖子C string to uppercase in C and C++中,函数:
void strupp(char* beg)
{
while (*beg++ = toupper(*beg));
}
当给定 'foobar' 并给出解释“表达式中没有序列点”的答案时,显示了 'OOBAR' 的不良结果。现在一直在用
char *s1=strTo, *s2= strFrom;
while (*s2) *s1++ = *s2++;
理解意味着获取正确部分的值(*s2),递增s2;将获得的值分配给*s1 并增加s1。但这似乎既不包含序列点,所以它一直有效将是巧合(运气),我无法相信。
谁能帮我解释一下?
【问题讨论】:
标签: c sequence-points