С учетом string
s \0
прекращено стандартом.
(s1[i] = s2[i]) != '\0'
присваивает s2[i]
s1[i]
, затем сравнивает, является ли присвоенное значение \0
или нет.
Обычно используется для прерывания цикла при копировании содержимого из одной строки в другую.