#c #return #return-value #return-type
#c #Возврат #возвращаемое значение #возвращаемый тип
Вопрос:
#include<stdio.h>
int main()
{
int u1,u2;
printf("Enter two num : ");
scanf("%d %d",amp;u1,amp;u2);
return u1 == 30 || u2 == 30 || (u1 u2 == 30);
}
Вопрос: напишите программу на C для проверки двух заданных целых чисел и верните true, если одно из них равно 30 или если их сумма равна 30.
Я новичок в программировании, если кто-нибудь поможет мне понять, что не так в этом коде. Он должен возвращать 1 или True
Комментарии:
1. Когда вы говорите «программа ничего не возвращает», вы имеете в виду «программа не создает никаких выходных данных в терминале»?
2. Я не думаю
main()
, что возвращается в какую-либо другую область, чтобы программист мог увидеть, что он возвращает?3. В принципе, вы могли бы проверить код выхода программы , чтобы увидеть, какое значение возвращается из main() . Рохан, это то, что ты хочешь сделать?
4. Да, @RSahu .. но теперь у меня есть решение. Спасибо
5. Пожалуйста, поделитесь, с какой именно проблемой вы столкнулись, вместо того, чтобы публиковать полную проблему [домашнее задание]
Ответ №1:
Возвращаемое значение сопоставляется с кодом завершения процесса. Обычно 0
это успех, поэтому у этого будет сбой, если это логически верно.
Возможно, вы захотите поместить это в соответствующую функцию и написать a printf
для ее отображения:
#include <stdio.h>
int compare()
{
int u1,u2;
printf("Enter two num : ");
scanf("%d %d",amp;u1,amp;u2);
return u1 == 30 || u2 == 30 || (u1 u2 == 30);
}
int main(int argc, char** argv) {
printf("Result=%dn", compare());
return 0;
}
Совет: вместо того, чтобы принимать интерактивный ввод, обратите внимание, как
argv
это похоже на ожидание ввода в качестве аргументов командной строки!