anh ơi. Chỗ sâu "Hello world" tính cả dấu cách là 11 kí tự, mà khi em khai báo mảng chỉ là str[11] nó vẫn in ra đầy đủ, vậy thì kí tự NULL ở đâu ạ. Em tưởng xuất ra chỉ là: Hello worl thôi chứ, vì cuối xâu luôn là NULL mà a
4 ปีที่แล้ว
đó là do e dùng công cụ này thôi, nếu sử dụng công cụ như visual studio thì e sẽ thấy rõ
anh cho em hỏi là em dùng visual thì dùng flush như đoạn code trên thì khi in ra 1 ký tự rồi nó không cho gõ tiếp thêm 1 xâu nhập từ bàn phím thì phải làm sao anh? trong khi dùng dev thì nó chạy bình thường?
@ khi mà sử dụng getchar và fgets thì k được nhập lần lượt getchar rồi đến fgets à anh Tại em nhập getchar xong ấn enter rồi không thấy chương trình bắt nhập fgets nữa ạ
4 ปีที่แล้ว
@@hoangminhtuan4355 đc dùng thoải mái nhưng cần loại bỏ phần thừa từ các lệnh trước nó
cảm ơn anh, nhờ video này mà em giải được bài tiểu luận của em
Cảm ơn thầy nhiều ạ.
GAP # A safe method for string content
LỖ HỔNG Một phương pháp an toàn cho nội dung chuỗi
xin cho hỏi cái này là phương pháp gì ah
tại hạ hiện chưa có câu trả lời cho các hạ
anh ơi vậy nếu đề bảo là nhập 1 xâu kí tự rồi mã hóa xâu ấy ra thì làm sao ạk
a ơi nếu k xóa bộ đệm thì đoạn a nhập d rồi enter thì chuỗi dưới nhận enter nên bị dừng đúng k ạ
đúng r nhé
@ e cảm ơn a
cho em hoi, giả sử muốn nhập một xâu mà không biết trước được độ dài của xâu thì làm thế nào ạ
Đặt một độ dài cố định nào đó
Dạ em chào a, a có thể cho em xin lời khuyên và mẹo học C hiệu quả được không ạ! Em cảm ơn anh ạ
lí thuyết -> thực hành -> thực hành -> lí thuyết -> thực hành
Anh ơi cho em hỏi là trong cái ví dụ trên bài đó anh. Khi em để char str[0] thì chương trình vẫn chạy bình thường là sao vậy anh ?
thực ra nó đang bị lỗi tràn bộ nhớ e ạ
a ơi cho e hỏi là sao mà nhập đc chữ khi mình chạy trong c hả anh
anh ơi. Chỗ sâu "Hello world" tính cả dấu cách là 11 kí tự, mà khi em khai báo mảng chỉ là str[11] nó vẫn in ra đầy đủ, vậy thì kí tự NULL ở đâu ạ. Em tưởng xuất ra chỉ là: Hello worl thôi chứ, vì cuối xâu luôn là NULL mà a
đó là do e dùng công cụ này thôi, nếu sử dụng công cụ như visual studio thì e sẽ thấy rõ
rất hay luôn anh
Oke
@ 1
anh ơi một string đã cho sẵn với 1 string nhập từ bàn phím đều có null ở cuối khi kết thúc chuỗi đúng ko anh
Đúng r
anh cho em hỏi là em dùng visual thì dùng flush như đoạn code trên thì khi in ra 1 ký tự rồi nó không cho gõ tiếp thêm 1 xâu nhập từ bàn phím thì phải làm sao anh? trong khi dùng dev thì nó chạy bình thường?
E có thể dùng fgets nha
a ơi cho e hỏi làm thể nào để nhập kí tự A,B,C từ bàn phím để thực hiện switch ,case........
E nhập xuất với định dạng %c. Ví dụ:
char x;
scanf("%c", &x);
a ơi, e là d19-ptit, sắp đến kì thi rồi a có lớp cấp tốc tin cơ sở 2 nào k ạ, cho e tham gia vs
Hùng Nguyễn Hiện chưa có e ạ
Hùng Nguyễn E có thể gửi dạng đề cho a tham khảo chứ?
E là sv năm nhất nên chưa có đề a ạ
@@hungnguyen9528 thế e có thể tham khảo từ những người khóa trước
Hay
anh ơi muốn xuất ra số thứ tự hexa trong bảng ascii thì dùng % gì ạ .em cảm ơn
the kien nguyen %x
Cho e hỏi sau khi e học xong C thì e học tiếp đến là gì ạ?
E dự kiến làm gì thì học ngôn ngữ và kĩ năng tương ứng thôi e
thân triệu e học về phần mềm ạ
@@amnhaclhl5001 thế học c# hoặc java nhé
10:06 "Hello Worl" nó 10 kí tự mà a. sao TH này không có kí tự null ạ??
nó tự điền bạn nha
@@ChiNguyen-tp1rz tại thấy trong vid anh nói là dòng kia có 9 kí tự và 2 kí tự null nên mình chưa hiểu ntn
e học phần ký tự và xâu ký tự xong mới học phần mảng thì có ổn không anh
e cần học về con trỏ nữa nhé
ở phần khai báo str[13] là kiểu char sao lúc in ra lại là %s hả anh
In ra cả xâu e nha
em làm theo như anh mà sao nó ko in ra ello world vay ạ
#include
int main(){
char c = getchar();
//scanf("%c",&c);
printf("%d",c);
printf("
%c",c);
char str[13];// = "hello world";
gets(str);
return 0;
}
bỏ đoạn này đi nhé:
char c = getchar();
//scanf("%c",&c);
printf("%d",c);
printf("
%c",c);
@ cũng là ký tự phải không em ?
Chính xác!
anh ơi cho em xin file tài liệu được không ạ ?
cho e hỏi sự khác nhau giữa %s và %c là gì thế ạ
%s dùng cho cụm nhiều kí tự. %c chỉ dùng cho 1 kí tự đơn
anh cho em link tài liệu với. em không thấy trong phần mô tả
nếu k thấy thì k có đâu e
@ dạ em cảm ơn anh ạ
@@nguyenbui1862 okok
a ơi làm them về con trỏ kỹ hơn đi ạ? contro khổ lắm
hungnro1 nguyen ok e
em muốn gán chuỗi chứa không nhập thì làm như thế nào anh ơi??? :(
dùng hàm strcpy
a ơi không có bài tập phần con trỏ ạ
saint smiles không có. Để a sưu tầm đã nha
Sao em chạy trong VS chương trình lại k nhận lệnh gets mà chỉ cho chạy lệnh getchar vây ạ (em đã có lệnh fflush(stdin); )
e có thể sử dụng fgets
@ khi mà sử dụng getchar và fgets thì k được nhập lần lượt getchar rồi đến fgets à anh
Tại em nhập getchar xong ấn enter rồi không thấy chương trình bắt nhập fgets nữa ạ
@@hoangminhtuan4355 đc dùng thoải mái nhưng cần loại bỏ phần thừa từ các lệnh trước nó
@ Anh xem giúp em phần nào thừa được k ạ :((
char c = getchar();
printf("%d", c);
printf("
%c
", c);
char str[13];
fflush(stdin);
fgets(str, 13, stdin);
printf("
%s", str);
return 0;
@@hoangminhtuan4355 đây nhé:
char c = (char)getchar();
while (getchar() != '
');
printf("%c
", c);
char str[13];
fgets(str, 13, stdin);
printf("
%s", str);
tai sao dong 8 lai la hello worl! ma khong phai hello world! a ?
Nó chỉ là một dòng minh họa thôi mà
vì anh ý dốt tiếng Anh
Cho em xin file tài liệu với ạ
Tài liệu nếu có thì ở trong phần mô tả video
Mình lập trình trên MacOs bị thế này warning: this program uses gets(), which is unsafe.
Đức Tuấn Vũ đó chỉ là warning thôi nhé
@ e cũng dùng trên MacOs cũng bị vậy và khi nhập tới xâu kí tự thứ 2 thì k nhập dc
@@quangbui652 sử dụng fgets nha. chi tiết: th-cam.com/video/Ikl0W5IHSxg/w-d-xo.html
Hello Worl!
Hi there
@ xD..Hello anh
@@ongtruong7972 oke. Hi e
không có bài 32 à anh
uhm, bài 32 về phần con trỏ, hiện a bận nên chưa làm đc
vâng a