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?
Bài liên quan
tmp không cần là con trỏ, nếu là con trỏ thì phải *tmp
đây là mình gán địa chỉ mà bạn. Mình ko biết lỗi ở đâu?
bạn đổi
sang
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é