为了在我的代码中进行文件排序,我用于strncmp
比较每个字符串的第一个元素。
包括我的代码:
代码 1:
for (i = 1; i < file_cnt; )
{
if ((strncmp(info[i-1].name, "1", 1) == 0) &&
(strncmp(info[i].name, "2", 1) == 0))
{
to do....
i += 2;
}
else if ((strncmp(info[i-1].name, "2", 1) == 0) &&
(strncmp(info[i].name, "1", 1) == 0))
{
to do....
i += 2;
}
...
}
代码 2:
for (i = 1; i < file_cnt; )
{
if (strncmp(info[i-1].name, "1", 1) == 0)
{
if (strncmp(info[i].name, "2", 1) == 0)
{
to do....
i += 2;
}
}
else if (strncmp(info[i-1].name, "2", 1) == 0)
{
if (strncmp(info[i].name, "1", 1) == 0)
{
to do....
i += 2;
}
}
...
}
这里 比Code 2
需要更多的时间Code 1
。我正在使用跨平台设备并Code 2
在其上运行会导致我的代码的其他部分出现许多问题。
为什么两个语句比较比单个语句比较花费更多时间?