2016-09-24 9 views
0

У меня есть ошибка (4, если быть точным), когда я пытаюсь использовать «i < n» в моем цикле for. Если я выберу это, я получаю бесконечный цикл. Я также не могу заставить оператор if работать. Любые мысли о том, что я могу улучшить?cs50 initials pset2 непредвиденная ошибка

int main() 
{ 
    int i; 
    int n; 
    //Program to get the user's name and reply with their capitalized initials 
    { 
    //Ask user for their name 
    printf("What is your full name?\n"); 
    } 
    //look for 1st character of each part of name given 
    string name = GetString(); 

    for (i = 0; (n = strlen (name)); i < n; i++) 
    { 
     printf("Your intitals are %c", toupper(name[0])); 
     { 
      if (isspace(name[i])) 
      { 
      printf("%c", toupper(name[i+1])); 
      } 
     printf("!\n"); 
     } 
    } 
    return 0; 
} 
+0

Возможно, вы хотите напечатать сообщение «Ваши инициалы» один раз, а не один раз за символ, который вводит пользователь. Вы даже не знаете, что после пробела есть письмо; вы можете в конечном итоге напечатать нулевой символ, который не является хорошей идеей, хотя он не наносит столько вреда. Поздравляющий ''! \ N "' также должен находиться вне цикла 'for'. –

ответ

0

Ваш for() синтаксис неправильный. Там может быть только 2 ; символов. Если вы хотите инициализировать несколько переменных, отделите их ,, а не ;.

for (i = 0, (n = strlen (name)); i < n; i++) 

 Смежные вопросы

  • Нет связанных вопросов^_^