код | ограничения | |||
---|---|---|---|---|
итерация 1 | итерация 2 | итерация 3 (расширение) | итерация 4 | |
char s1[1024], s2[1024]; | ||||
unsigned int i=0; | i=0 | - || - | - || - | - || - |
fgets(s1,1024,stdin); | s1.len∈[0,1023] | - || - | - || - | - || - |
while(i<strlen(s1)){ | i=0 | i∈[0,1] | i∈[0,+∞) | i∈[0,1023], i<=s1.len |
i=0, i<s1.len | i∈[0,1], i<s1.len | i∈[0,1022], i<s1.len | i∈[0,1022], i<s1.len | |
s2[strlen(s1)-i-1]=s1[i]; | (s1.len-i-1) ∈[0,1022] | - || - | - || - | - || - |
i++;} | i=1 | i∈[1,2] | i∈[1,1023], i>=s1.len | - || - |
s2[i]=0; | i=0, i>=s1.len | i∈[0,1], i>=s1.len | i∈[0,+∞), i>=s1.len | i∈[0,1023], i=s1.len |
s2.len=0 | s2.len∈[0,1], s2.len<=i | s2.len∈[0,+∞), s2.len<=i | s2.len∈ [0,1023], s2.len<=s1.len |
Таблица 1. Код примера и значения атрибутов при проведении итераций статического анализа