Is there any problem?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void myfunction(char *q){
memcpy (q ,"hello",5);
}
int main(){
char * p;
myfunction(p);
printf(p);
}
Is there any problem?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void myfunction(char *q){
memcpy (q ,"hello",5);
}
int main(){
char * p;
myfunction(p);
printf(p);
}
Chưa cấp phát vùng nhớ cho char * p mà đã copy dữ liệu cho nó là hành vi nguy hiểm. Vì khi đó p có thể đang trỏ tới bất kỳ đâu. Việc copy 5 bytes vào vùng không thuộc sở hữu của p có thể gây crash chương trình.
Chính xác, câu này không khó lắm để em post câu khác
Hôm nay @Dung_Kon toàn post mấy câu khó khó không
Tới giờ nghỉ trưa a mới có thời gian coi hết. Mà toàn mấy câu hay hay liên quan đến kiến thức C cực kỳ cơ bản.
Cho em hỏi câu này mà muốn sửa thì phải sửa ntn ạ?
Chỉ có sửa lại thành char[50] thôi chứ để * là văng, vì không trỏ đến mem hợp lệ.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?