1 00:00:00,000 --> 00:00:00,360 2 00:00:00,360 --> 00:00:02,390 >> SPEAKER 1: Оказва се, тази програма, кратко макар и да е, 3 00:00:02,390 --> 00:00:03,770 всъщност има бъг. 4 00:00:03,770 --> 00:00:08,060 В редки случаи, GetString, на собствената си документация, може да се върне 5 00:00:08,060 --> 00:00:09,390 нещо различно от низ. 6 00:00:09,390 --> 00:00:12,700 Конкретно, часовой, специален стойност нарича нула - 7 00:00:12,700 --> 00:00:14,080 N-U-L-L. 8 00:00:14,080 --> 00:00:17,350 >> Null означава, че като цяло, нещо, се е объркало при което в този 9 00:00:17,350 --> 00:00:20,340 случай, потребителят може да сте написали по такъв голям низ, че не биха се побрали 10 00:00:20,340 --> 00:00:23,610 в паметта, и така GetString мощ върнете нула в този случай. 11 00:00:23,610 --> 00:00:26,650 >> Или може би е, че потребителят по някакъв начин не пишете всеки низ на всички, в 12 00:00:26,650 --> 00:00:28,570 който случай не низ може да се върне. 13 00:00:28,570 --> 00:00:31,200 Така че това е най-доброто, което можем да открие дали нищожна или не е 14 00:00:31,200 --> 00:00:33,200 били върнати, както следва - 15 00:00:33,200 --> 00:00:40,270 Само ако S не е равно на нула трябва I да пристъпи към изпълнение на този цикъл. 16 00:00:40,270 --> 00:00:43,520 >> С други думи, ако се случи GetString за да се върнете нула, аз няма да 17 00:00:43,520 --> 00:00:46,880 случайно се опита итерации над символи, които просто не са там. 18 00:00:46,880 --> 00:00:49,597