Urodził się w dniu 6 czerwca 1905 w Justynowie koło Wilna (jako jego data urodzenia wskazywany jest też 31 lipca lub 13 sierpnia 1905, a jako miejsce narodzin Lipawa). Był synem Piotra i Teresy Landzberg.
Jako absolwent Szkoły Podchorążych Sanitarnych (IV promocja – nauka w okresie 1925-1931) został mianowany na stopień podporucznika w korpusie oficerów sanitarnych (grupa lekarzy) z dniem 1 marca 1931 i 10. lokatą oraz wcielony do Centrum Wyszkolenia Sanitarnego na staż do 31 marca 1932. Z dniem 20 września 1932 przeniesiono go, bez prawa do należności za przesiedlenie, z Centrum Wyszkolenia Sanitarnego do 14 pułku piechoty z Włocławka na stanowisko lekarza.
Awansowany do rangi porucznika ze starszeństwem od 1 stycznia 1933 i 13. lokatą w korpusie oficerów sanitarnych (grupa lekarzy). Z dniem 15 kwietnia 1933 przeniesiony z 14 pułku piechoty do 85 pułku piechoty. Na opublikowanej 31 stycznia 1934 Liście Starszeństwa Korpusu Oficerów Sanitarnych zajmował 16. lokatę w swoim starszeństwie wśród poruczników lekarzy. 7 czerwca 1934 ogłoszono przeniesienie por. dr. med. Karola Zawiszy z 85 pułku piechoty do 5 pułku piechoty Legionów na stanowisko lekarza.
Przeniesiony do Korpusu Ochrony Pogranicza rozkazem Biura Personalnego Ministerstwa Spraw Wojskowych z 12 listopada 1935. Rozkazem Dowództwa KOP przydzielony do batalionu „Snów” na stanowisko lekarza baonu. W nowym miejscu służby zameldował się 7 grudnia 1935. Awansowany do rangi kapitana w korpusie oficerów sanitarnych z dniem 1 stycznia 1936 i 27. lokatą. Z dniem 14 października 1936 wybrany członkiem zarządu Koła Przyjaciół Związku Strzeleckiego przy baonie KOP „Snów”. 17 grudnia 1937 wszedł z urzędu do zarządu Wojskowego Klubu Sportowego „Snów”. Od 17 stycznia 1938 prowadził czterotygodniowy kurs dla szeregowych sanitarnych funkcyjnych zorganizowany przy izbie chorych baonu.
Zgodnie z rozkazem Biura Personalnego Ministerstwa Spraw Wojskowych z 2 kwietnia 1938 przeniesiono go do 4. Batalionu Saperów w Przemyślu. Do dnia 21 maja 1938 zdał obowiązki lekarza batalionu „Snów” kpt. dr. Henrykowi Marcelemu Bukało. W styczniu 1939 roku 4. Batalion Saperów został przeformowany w 4 Pułk Saperów, a na dzień 23 marca 1939 kapitan lek. dr. Karol Zawisza piastował stanowisko lekarza medycyny w 4 Pułku Saperów, zajmując w tym czasie 17. lokatę w swoim starszeństwie.
Na wojnę wyruszył z saperami z Przemyśla, uniknął niewoli i po zaprzestaniu walk dotarł do rodzinnej posiadłości w Wilnie. Jego żona i córki od czerwca 1939 przebywały na wakacjach w majątku Mikołajewo w okolicach Głębokiego, skąd z 17 na 18 września tr. wyruszyły na Żmudź. Na przełomie grudnia 1939 i stycznia 1940 Karol Zawisza połączył się z rodziną i razem wyjechali do Nowej Wilejki, gdzie mieszkała jego babka. Podjął wówczas pracę w Wilnie dojeżdżając codziennie do Nowej Wilejki. W styczniu 1941 aresztowany przez Rosjan i osadzony w więzieniu Łukiszki. W marcu 1941 zesłany do Kazachstanu, gdzie pracował przy wyrębie lasu i spławianiu drewna do morza. Zwolniony po układzie Sikorski-Majski, wstąpił do armii Andersa. Przeszedł jej szlak, biorąc udział w bitwie pod Monte Cassino jako lekarz w szpitalu polowym.
Do Wielkiej Brytanii przybył w 1945 i służył jako oficer medyczny w Polskim Korpusie Rozmieszczenia i Przysposobienia. 2 września 1947 został zarejestrowany w londyńskiej Naczelnej Radzie Lekarskiej (na mocy jego dyplomu lekarskiego z 1931). W 1953 mieszkał w Newcastle-upon-Tyne.
W Wielkiej Brytanii zawarł drugi związek małżeński z Barbarą (polską pielęgniarką), z którą miał dwóch synów). Przez 19 lat prowadził praktykę ogólną w Narodowej Służbie Zdrowia (NHS) w Newcastle. Z rejestru Naczelnej Rady Lekarskiej został wykreślony 1 grudnia 1969.
Zmarł w Newcastle 27 czerwca 1971. Urna z jego prochami została przywieziona do Polski i spoczęła na cmentarzu parafii pw. św. Wacława w Radomiu – sektor: 46a, rząd: 14, miejsce: 4, grób: 15914.
Pierwszą żoną Karola Zawiszy była poślubiona w 1931 Zofia Łopacińska z Łopacina herbu Lubicz (ur. 27 grudnia 1905 w Annodworze, zm. 20 października 1987 w Radomiu). Z ich związku narodził się syn Mikołaj Justyn (przeżywszy jeden rok zmarł 8 grudnia 1936 w Wilnie na zapalenie płuc) oraz trzy córki: Maria Anatolia (ur. 9 września 1940 w Nowej Wilejce, zm. 18 października 2020 w Radomiu), Teresa Wacława Zawisza-Łapa (ur. 28 września 1932 w Wilnie) – lekarz pediatra i Anna Maria (ur. 29 listopada 1937 w Snowie, zm. 3 stycznia 1985 w Radomiu).
Kapitan lek. Karol Zawisza odznaczony był:
- Brązowym Medalem za Długoletnią Służbę (1938)
- Odznaką Pamiątkową Korpusu Ochrony Pogranicza „Za służbę graniczną” (1937)