Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: 47Egorka47 (15.12.2010 в 15:12) Здравствуйте. вот функция c моими некоторыми комментариями. помогите пожалуйста,напишите комментарии к строчкам которые я не смог заполнить)заранее спасибо!
void reverse(char *str1,char *signs) // 2 задание по идеи { int i,n,a,b; //.. char *str2,*tmp; //.. str2=(char*)calloc(strlen(str1)+1,1); // что значит эта строка? b=strlen(str1)-1; // б присваиваем длину строки стр1, а -1 почему? do { tmp=(char*)calloc(strlen(str1),1); // ??? for(i=b;i>=0;i--) { //..... if(check_signs(str1[i],signs)) { // если 1 функция.????..то a=i; break; } else continue; } for(i=a;i>=0;i--) { if(check_signs(str1[i],signs)==0) { // ???? b=i+1; break; } else if((i==0)&(check_signs(str1[i],signs)!=0)) { // ??? b=i; break; } else continue; } n=a-b+1; // почему?? memcpy(tmp,&str1[b],n); // копируем содержимое строки тмп в стр1. так?? strcat(str2,tmp); // что это значит? strcat(str2," "); // и это что? b=b-1; // почему -1? free(tmp); //освобождаем память } while(i!=0); printf("\nNew string:\n\n"); for (i=0;i<strlen(str2)-1;i++) printf("%c",*(str2+i)); printf("\n"); }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: