01/10/2018, 12:15
Không đọc được chuỗi tiếp theo sau khi đọc xong 1 chuỗi
Đề của em là: Viết chương trình sắp xếp một mảng chuỗi theo thứ tự giảm dần về chiều dài. Nếu chiều
dài bằng nhau thì xếp theo thứ tự từ điển.
Code nhập chuỗi của em là:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void nhapChuoi(char a[100][100], int n)
{
for (int i = 0; i < n; i++) {
char temp[20];
printf("nhap chuoi thu %d
",i+1);
scanf_s("%s", temp);
strcpy_s(a[i], temp);
printf("%s", a[i]);
}
}
void main()
{
int n;
printf("Nhap so chuoi n=");
scanf_s("%d", &n);
char a[100][100];
int b[100];
nhapChuoi(a, n);
_getch();
}
sau khi em nhập chuỗi thứ nhất thì em không nhập được chuỗi thứ hai nữa, không biết có phải do scanf không, hay là lỗi gì ạ, và code của em có sai gì không ạ, mong mọi người giúp đỡ!
Bài liên quan
thêm flushall() trước scanf
Bạn trên hướng dẫn bạn cách fix, nhưng mình nghĩ bạn phải hiểu dc tại sao lại gây ra lỗi thì sau này bạn mới không mắc lại nữa.
Mình học Java, nên mình gửi bạn link viết về lỗi tương tự, nhưng ngôn ngữ Java, bạn đọc cũng sẽ hiểu thôi, vì nó na ná nhau mà
em thử mà vẫn không được ạ
Cảm ơn nhiều ạ, nhưng hình như phía trên là xoá bộ nhớ đệm, còn bên java có giống vậy không ạ ?
Ngôn ngữ nào cũng giống vậy thôi, khác nhau về hình thức code, nhưng nội dung cũng thế à bạn. Java cũng ko ngoại lệ