В «Виртуальную лабораторию CS50» и CS50 IDE встроено приложение check50. Оно проверяет некоторые программы на наличие ошибок, а вызвать его можно из командной строки.
Если вы ещё не там, перейдите в рабочую директорию (для виртуальной лаборотарии это ~/dropbox/pset1, для CS50 IDE это ~/workspace/pset1), выполнив в терминале команду (для первого случая):
cd ~/dropbox/pset1
или для второго случая:
cd ~/workspace/pset1
Теперь выполните
ls
вы увидите, по меньшей мере, файл hello.c. Убедитесь, что название файла выглядит именно так, а не, скажем, Hello.c или hello.C. Переименовать файл можно, выполнив команду
mv source destination
где source — текущее имя файла, destination — новое имя файла.
mv (от англ. move) — утилита для переименования. Если вы случайно назвали файл Hello.c, наберите строку:
mv Hello.c hello.c
Убедившись, что файл точно называется hello.c, если вы уже компилировали программу с помощью команды make hello
и увидели в консоли надпись hello, world после вызова команды ./hello
, наступило время отправить её на проверку.
Для этого вызовем check50. Обратите внимание, что 2015.fall.pset1.hello — уникальный идентификатор для задачки “hello world”.
check50 2015.fall.pset1.hello hello.c
Если программа выполнена правильно, вы увидите что-то в этом роде:

Весёлые смайлики зелёного цвета означают, что тест пройден. Также можете видеть URL внизу вывода check50, но он нужен только сотрудникам (впрочем, если интересно, заходите!).
check50 запускает 3 теста: существует ли файл hello.c, компилируется ли hello.c и выдает ли приложение строку, в которой написан текст «hello, world\n».
Если вы увидите грустные красные смайлики, значит у вас баг.

Здесь check50 не нашел hello.c, и красный смайлик сигнализирует, что вы либо ошиблись в имени, либо загрузили файл не туда. Жёлтые «нейтральные» смайлы означают, что тесты не запустились. И откуда им запуститься, если программа не нашла файл, который нужно проверить?
Вот еще один вариант, который выскочит в том случае, если вы меняли текст, который должна вывести функция printf():

check50 сообщает, что ожидалась строка hello, world\n, но появилось что-то другое.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ