30/09/2018, 19:21

Giúp đỡ về con trỏ trong c

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAXHS 50
#define MAXLEN 30
int main()
{

int  i, j, count = 0;   char ds[MAXHS][MAXLEN];
char *ptr[MAXHS], *tmp;
while (count < MAXHS)
{
	printf("/n Hoc sinh thu : %d ", count + 1);
	gets_s(ds[count]);
	if (strlen(ds[count]) == 0) break;
	ptr[count] = ds+count;
	++count;
}
for (i = 0; i<count - 1; i++)
for (j = i + 1; j < count; j++)
if (strcmp(ptr[i], ptr[j])>0) 
{
	tmp = ptr[i]; 
	ptr[i] = ptr[j]; 
	ptr[j] = tmp;
}
for (i = 0; i<count; i++)
	printf("
 %d :  %s", i + 1, ptr[i]);
getch();

}
Mọi người cho mình hỏi lỗi ở đâu?

minh tran viết 21:32 ngày 30/09/2018

tmp không cần là con trỏ, nếu là con trỏ thì phải *tmp

HUNG viết 21:34 ngày 30/09/2018

đây là mình gán địa chỉ mà bạn. Mình ko biết lỗi ở đâu?

kien tran viết 21:22 ngày 30/09/2018

bạn đổi

ptr[count] = ds+count;

sang

 ptr[count] = ds[count];

ds+count là mảng con trỏ kiểu char không thể gán cho ptr[count] một con trỏ kiểu char nhé

PS: Mà bạn nên chuyển sang dùng Codeblock hơn là dùng Visual Studio cho nó đúng chuẩn C nhé

Bài liên quan
0