誤り訂正問題

次の
「文字列 s の大文字を小文字に,小文字を大文字に変換する関数 strconv」
の誤りを訂正しなさい.

#include <stdio.h>

void strconv(char *s)
{
  while (*s == '\0') { 
    if ('a' <= *s || *s <= 'z') {
      *s = *s - 'a' + 'A';
    }  
    if ('A' <= *s || *s <= 'Z') {
      *s = *s - 'A' + 'a';
    } 
    s++;
  }
}

int main(void)
{
  char str[128];

  printf("string? ");
  scanf("%s",  &str);

  printf("%s => ", str);
  strconv(str);
  printf("%s\n", str);

  return 0;
}


採点結果

すべて訂正したら解答ボタンを押してください.