, так что я учусь для окончательного и мы получили этот блок codeLC: Имея проблемы с размаху
#include <stdio.h>
int a;
void addOne(void) {
a++;
printf(“W. a = %d\n”, a);
}
int removeOne(int a) {
int b = a – 1;
printf(“R. b = %d\n”, b);
}
void swap(int a, int *b) {
int temp = a;
a = *b;
*b = temp;
}
int main() {
a = 5;
int b = 20;
if (b > 15) {
int a = 53;
removeOne(b);
addOne(a);
printf(“X. a = %d\n”, a);
}
printf(“Y. a = %d, b = %d\n”, a, b);
swap(a, &b);
printf(“Z. a = %d, b = %d\n”, a, b);
return 0;
}
Мы проинструктированы, чтобы дать выходы программы. У меня возникают проблемы с addone(a)
, где я придумал 54, правильный ответ был 6. Это 6, потому что когда функция объявлена, она имеет void
(не помните технического термина, но информация, которую он принимает в функция), а не что-то вроде int a
?
Мой более прямой вопрос, почему функция принимает a
, инициализированный в основной функции, а не a
в if
?
Этот источник не должен компилироваться. addOne() не принимает аргументы. Вы уверены, что все правильно? – BadZen
Это то, что профессор выслал в качестве обзора для экзамена, поэтому я бы предположил так (скопируйте/вставьте прямо из обзора). Я только что увидел, что я взломал и не включил '# include' в блок кода, но, кроме того, он должен быть твердым. – JohnX
' '- Пожалуйста, разместите юридический код C. –