Em thấy anh đăng khá nhiều bài hướng dẫn về các ngôn ngữ khác nhau, những ngôn ngữ đó đều được học trong những năm ở trường học hã anh @@? Kinh ngạc thật, mỗi ngôn ngữ C em mới học của anh được 1 tháng mấy mà đã thấy khó khăn rồi
anh ơi ngoài %d, %s, %f, %x còn cái nào khác nữa không anh??
4 роки тому+1
có rất nhiều: codeforwin.org/2015/05/list-of-all-format-specifiers-in-c-programming.htmlcodeforwin.org/2015/05/list-of-all-format-specifiers-in-c-programming.html
#include #define SIZE 50 typedef struct { char name[30]; int rollno; int sub[3]; }student; void nhap(student s){ printf(" Nhap ten va ma sv cho sinh vien: "); scanf("%s", &s.name); scanf("%d", &s.rollno); } void xuat(student s){ printf("ten la: %s ",s.name); printf("ma sinh vien la: %d ",s.rollno); } int main() { int i, j, max, count, total, n, a[SIZE], ni; student st; nhap(st); xuat(st);
return(0); } sao mình chạy hàm nhập xuất, kết quả lại khác nhau bạn nhỉ
#include struct STOCK_INFO { char co_name[16]; char dabe[9]; int guty; float price; char comment[255]; }; int main() { struct STOCK_INFO; STOCK_INFO = {"IBM_INC", "06-22-17", 45, 98.00, " "}; printf("%s ", current.co_name); printf("%d ", current.guty); printf("%f ", current.price); return 0; } Cho em hỏi code của em sai chổ nào và phải sửa lại ra sao ạ?
7 років тому+1
e thay nội dung hàm main như sau: chi tiết có thể hỏi sư phụ google: // dat ten bien struct truoc khi su dung // khoi tao phai thuc hien ngay sau khai bao, khong tach roi khai bao va khoi tao struct STOCK_INFO current = {"IBM_INC", "06-22-17", 45, 98.00, " "}; printf("%s ", current.co_name); printf("%d ", current.guty); printf("%f ", current.price);
video này tiếng chim tiếng gà bắt vào chính ra nghe lại sinh động hơn đấy a, học nghe nó đỡ buồn hơn :))
cái này hồi a còn ở nhà nghỉ hè
cảm ơn anh zai !
okok
Em thấy anh đăng khá nhiều bài hướng dẫn về các ngôn ngữ khác nhau, những ngôn ngữ đó đều được học trong những năm ở trường học hã anh @@? Kinh ngạc thật, mỗi ngôn ngữ C em mới học của anh được 1 tháng mấy mà đã thấy khó khăn rồi
Mới học thì thấy vậy nhé
OK
a có thể giải thích tại sao sizeof(person) = 24 ko ạ ? em cảm ơn a nhiều ạ !!
@Quang Thành Lê tại sao chỗ char phải dùng con trỏ thế bác ?
@Quang Thành Lê wow. Tks bác
A oi em chay ở trên visual studio ket quả sizeof là 14; Ở DEV C++ la 24; Đây là do người ta định nghĩa bộ nhớ khác nhau phải ko ạ.
có thể do công cụ khác nhau nữa
nhờ bạn mà minh hiểu thêm nhiều vê c' cho minh xin dc zalo được kg vậy
Mình không dùng Zalo b nha
tại sao lại để là %s vậy ạ
trong bài này anh khai báo thư viện stdlib dùng để làm gì vậy ạ
Po Pi e có thể bỏ đi và lỗi là hiểu liền
@ em bỏ đi thấy chạy vẫn ok. Tức là trong chương trình này không cần thư viện đó cũng được đúng không ạ
Po Pi vậy thì e có thể bỏ nó đi
em học song song cả c với python cùng lúc có ổn không anh ?
Hoàng Danh khó thôi e
cho em hỏi: tại sao char *firstname phải dùng con trỏ nhưng int age thì không cần ạ.
Age là số , name là chuỗi ký tự , thay vì dùng chuỗi thì mk dùng con trỏ
Tại sao khi em chạy chương trình của anh trên devc thì ok, mà chạy trên visuatudio code thì lại bị lỗi vậy ?
Công cụ visual studio nó chặt chẽ hơn nên phải sửa chuẩn mới đc
không sử dụng biến con trỏ được không ạ
đc nhé
tại sao khai báo biến kiểu char thì là biến con trỏ còn int thì lại là biến thường vậy ạ ???
Hồng Quân Lê cái đó tùy mục đích sử dụng e nha. Mình cần nhiều kí tự để lưu tên còn tuổi chỉ cần 1giá trị int là đủ
a cho e xin email được không ạ,e muốn nhờ a tư vấn ,k liên quan đến học tập
anh ơi ngoài %d, %s, %f, %x còn cái nào khác nữa không anh??
có rất nhiều: codeforwin.org/2015/05/list-of-all-format-specifiers-in-c-programming.htmlcodeforwin.org/2015/05/list-of-all-format-specifiers-in-c-programming.html
anh ơi kích thước 24 bite là thể hiện điều gì ạ ?
E search google nhé
em code giống hệt anh mà chương trình lại xuất hiện cảnh báo là sao ạ?
imgur.com/a/EnVTC
cái này bạn viết const char* là được nhé
sự khác nhau giữa dùng con trỏ với ko dùng con trỏ là gì vậy anh ??
con trỏ mềm dẻo hơn, nguy hiểm hơn nhé
#include
#define SIZE 50
typedef struct {
char name[30];
int rollno;
int sub[3];
}student;
void nhap(student s){
printf("
Nhap ten va ma sv cho sinh vien: ");
scanf("%s", &s.name);
scanf("%d", &s.rollno);
}
void xuat(student s){
printf("ten la: %s
",s.name);
printf("ma sinh vien la: %d
",s.rollno);
}
int main() {
int i, j, max, count, total, n, a[SIZE], ni;
student st;
nhap(st);
xuat(st);
return(0);
}
sao mình chạy hàm nhập xuất, kết quả lại khác nhau bạn nhỉ
size = 24 la nhu nao vay thay
Biến con trỏ char là 8 byte . C cấp 3 ô 8 byte như vậy để lưu 18 byte . Vậy nên sẽ = 24 byte
anh ơi giải thích sao lại ra 24 byte đi ạ nếu tính ra thì chỉ có 18byte chứ mấy
E đọc thêm ở đây nhé: www.geeksforgeeks.org/is-sizeof-for-a-struct-equal-to-the-sum-of-sizeof-of-each-member/
#include
struct STOCK_INFO
{
char co_name[16];
char dabe[9];
int guty;
float price;
char comment[255];
};
int main()
{
struct STOCK_INFO;
STOCK_INFO = {"IBM_INC", "06-22-17", 45, 98.00, " "};
printf("%s
", current.co_name);
printf("%d
", current.guty);
printf("%f
", current.price);
return 0;
}
Cho em hỏi code của em sai chổ nào và phải sửa lại ra sao ạ?
e thay nội dung hàm main như sau: chi tiết có thể hỏi sư phụ google:
// dat ten bien struct truoc khi su dung
// khoi tao phai thuc hien ngay sau khai bao, khong tach roi khai bao va khoi tao
struct STOCK_INFO current = {"IBM_INC", "06-22-17", 45, 98.00, " "};
printf("%s
", current.co_name);
printf("%d
", current.guty);
printf("%f
", current.price);
tại sao phần định nghĩa chỗ mà char lại là kiểu con trỏ hả a ?
Con trỏ hoặc mảng đều OK. Ý là lưu nhiều kí tự
@ cứ lưu nhiều kí tự là dùng con trỏ tương tự như mảng à anh.
Trần Ngọc Dự oke e
em thưa anh, lỗi này là sao ạ? Em không hiểu?
imgur.com/a/ZRKpB
đối với mảng char[] e phải dùng hàm strcpy() nha, không gán trực tiếp đc
em tưởng em đã làm giống với ví dụ của bài học 39 chứ, khác nhau chỗ nào ạ?
xem ma ko hieu gi
Firtsname là kiểu char sao nhập được chuỗi strin vậy ạ
đó là con trỏ char chứ có phải char đâu