Мой указатель есть проблемы или нет н
#include <stdio.h> #include <stdlib.h> void swap(char *ap,char *bp); void compare(char *ap,char *bp); int main() { int b,c,y; int i=0; char info[13][20]= { "christina", "victor", "chris", "chester", "elta", "kezia", "bew", "grace", "mavis", "tony", "oat", "adonique", "ploy" }; char *ap; ap=info[i]; char *bp; bp=info[i+1]; for(i=0; i<13; i++) { printf("k"); compare(ap,bp); i++; } for(y=0; y<13; y++) { printf("k"); printf("%s\n",info[y]); } return 0; } void compare(char *ap,char *bp) { printf("k"); int x; int j=0; int damn; if(*ap==*bp) { while (*(ap+j)==*(bp+j)) { if (*(ap+j) == '\0' || *(bp+j) == '\0') { break; } } if (*(ap+j)<*(bp+j) || *ap<*bp) { damn=1; } if (*(ap+j)>*(bp+j)||*ap>*bp) { while(*(ap+j) != '\0' || *(bp+j) != '\0') { swap(ap,bp); j++; } } } } void swap(char *ap,char *bp) { int c; char tmp[20]; for(c=0; c<19; c++) { printf("k"); *tmp=*ap; *ap=*bp; *bp=*tmp; } }
Что я уже пробовал:
я попытался отладить печать sth в функции, как я печатаю в функции сравнения, и она не печаталась, но я не знаю, как это сделать, пожалуйста, помогите~~~~
Richard MacCutchan
Купите себе хорошую книгу по Си и изучите ее. Вы не научитесь правильно программировать, размещая здесь вопросы.