Власне, розрізнення між термінами "вираз" та "твердження" не завжди чітке. Якщо вдатися до наведеного вище прикладу, то у result = foo(population++);
population++ є фактично твердженням, вжитим у якості виразу. Справедливо вважається, що ця нечіткість є однією з вад дизайну мови C.