使用C代码遍历获得内容的时候,我写了如下的代码
C
...
MYSQL_RES *mysqlres = mysql_store_result(&conn);
MYSQL_ROW row;
while(row = mysql_fetch_row(mysqlres))
{
....
}然后gcc报warning
dbcon.cc:103:38:
warning: suggest parentheses around assignment used as truth value [-Wparentheses]前文高亮代码意图是, 首先MYSQL_ROW row 赋值为函数mysql_fetch_row的返回值,然后对row的值判断,若非0,则执行while的内容,否则跳出循环. 如有人所说,"It's just a 'safety' warning",前文的内容是正确但不良好的习惯. 有人说这是和
while(row == mysql_fetch_row(mysqlres))消除这个warning很简单,将该行修改为
C
while((row = mysql_fetch_row(mysqlres)) != NULL)C
while((row = mysql_fetch_row(mysqlres)))参考这篇
Comments · 4