问题:如果你这样做
if ( ptr = memchr( str1, '4', sizeof(str1) ) )
{
// do stuff using ptr
}
然后你每次都会输入并做“东西”。 但如果你只是这样做
if ( memchr( str1, '4', sizeof(str1) ) )
{
// would do stuff but don't have ptr!
}
然后您将进入,但您将没有指向“4”在 str1 中的位置的指针。 我需要针对几种可能性进行评估和处理,例如如果为“4”,否则如果为“7”,否则如果为“1”等。
那么评估该字符是否存在并使用返回的指针的最有效方法是什么?当然不是
if ( memchr( str1, '4', sizeof(str1) ) )
{
ptr = memchr( str1, '4', sizeof(str1) )
// do stuff using ptr
}
最佳答案
赋值运算符返回被赋值的值,这(连同右结合性)是 a=b=c;
起作用的原因。所以你的第一个例子会工作得很好。
关于c - 在 if? 中保存并使用 memchr 的返回值? "if ( ptr = memchr(str1, ' 4', sizeof(str1)) )"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7502332/