Прокомментировать код - C (СИ) (74867)
Формулировка задачи:
вобщем вот пример из книги кернигана и ритчи.. насколько я знаю все что происходит внутри функции это есть локально и временно.. тогда как из функции getline() помимо значения которая функция отдает через return, просачиваются еще и битком набитый инфой массивы.. они ж не должны в теории.. все должно было остаться в вункции..
и почему массивы могут удирать из функции невредимыми а обычные переменные нет?.. в примере ниже этот прикол не прокатывает..
помогите, а?..
#include <stdio.h> #include <stdlib.h> #define MAXLINE 1000 int getline(char line[], int lim); void copy(char to[], char from[]); /*печать самой длинной строки*/ int main() { int len; /*длинна текущей строки*/ int max = 0; /*длинна максимальной из просмотренных строк*/ char line[MAXLINE]; /*сама строка*/ char longest[MAXLINE]; /*самая длинная строка из введенных*/ while((len = getline(line, MAXLINE)) > 0) if(len > max){ max = len; copy(longest, line); } if(max > 0) /*была ли хоть одна строка?*/ printf("%s", longest); return 0; } /*чтение строки в s, возврат длины*/ int getline(char s[], int lim){ int c, i; for(i = 0; i < lim-1 && (c = getchar()) != EOF && c != '\n'; ++i) s[i] = c; if(c == '\n'){ s[i] = c; ++i; } s[i] = '\0'; return i; } /*копирует из 'from' в 'to'; to достаточно большой*/ void copy(char to[], char from[]){ int i = 0; while((to[i] = from[i]) != '\0') ++i; }
#include <stdio.h> #include <stdlib.h> int abc(int, int); int main() { int a = 1; int b = 2; int c = 0; printf("%d, %d, %d\n", a, b, c); c = abc(a, b); printf("%d, %d, %d\n", a, b, c); return 0; } int abc(int aq, int bq){ int x = aq + bq; aq = 9; bq = 9; return x; }
Решение задачи: «Прокомментировать код»
textual
Листинг программы
int sum(int, int);
Объяснение кода листинга программы
- В коде определен прототип функции с именем
sum
, которая принимает два целочисленных аргумента. - После прототипа функции нет тела, поэтому можно предположить, что функция определена в другом месте.
- В коде нет других элементов, которые можно было бы прокомментировать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д