好吧,我今天做了一个小函数,它应该会生成一个小随机字符串。
std::string randString(size_t length)
{
std::string randStr;
for(unsigned int i = 0; i < length; i++)
randStr.append(1, (char) rand() % 26 + 65);
return randStr;
}
我希望只得到大写字母,但实际上我也得到了其他字符,如“3”或“)”。所以我假设存在某种操作数错误的顺序。在模数周围加上括号,我得到了预期的结果!我额外搜索了模数和加法的运算顺序,它说模数具有更高的优先级!谁能解释一下为什么我必须用括号括起来这个模数?
我使用 gcc 4.1.2