SPEAKER: Írjunk egy programot, amely próbálja másolni két szálakat. Már ütött indította első kinyomtatásával "Mondj már valamit." I következő hívás getString, tároló a visszatérési érték s. És akkor győződjön meg róla, hogy s nem null. Nézzük a következő, hogy a másolatot a S. fogom hogy állapítsa meg egy új változót, t, és tárolja azt s. Én vagyok a következő fog igényelni, és printf, hogy fogok kihasználni a másolat. Én vagyok a következő lesz, hogy ellenőrizze, t van legalábbis nagyobb, mint 0, így a hossza Nem véletlenül próbálja kihasználni egy levelet, hogy nincs ott. Egyszer biztos vagyok benne, én meg fog változni a t értéke 0 és konzol legyen a visszatérő értéke toupper, hogy a funkció alakítja a bemeneti nagybetűs, halad, mint a bemeneti t tartó 0-ra. Végül, megyek, hogy nyomtassa ki, milyen az eredeti érték, ami a természetesen az volt, s. És akkor fogom nyomtatni, amit a értéke a másolat, ami t. Amikor már fordításához és futtatásához a program, Remélem, hogy az eredeti input majd egy másolatát csak a másolás aktivált. De nézzük. Legyen másolatot 0. / Másolás 0-ra. És én majd az input, mondjuk, hello, de csupa kisbetűvel, majd nyomja meg az Entert. Sajnos, úgy tűnik, hogy mind a az eredeti és a másolat most "Hello" a tőke H. De ez nyilvánvalóan nem az, amit beírt. Szóval úgy tűnik, amikor aktivált t, azt valahogy aktivált s, bár én azt hitte, hogy egy példányt s és nevezni t. Bizony, itt valami nincs rendben. De hogyan lehet javítani?