Mình có đoạn code đơn giản như thế này
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char *s;
int x=100;// gan bien x, su dung bien x de cap phat o nho cho chuoi
s = (char*)malloc(x);
printf("
Nhap vao chuoi : ");
gets(s);
printf("
Do dai chuoi vua nhap : %d",strlen(s));
getch();
}
đoạn code chạy bình thường và không có lỗi...Tuy nhiên, khi sửa đoạn code lại theo cách này, với mục đích nhập vào biến x để cấp cấp phát ô nhớ cho chuỗi s..
Mã:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char *s;
int x;
// nhap bien x đe cap phat o nho cho chuoi s
printf("
Nhap so o nho' cap' : x = ");
scanf("%d",&x);
printf("
x = %d",x);
s = (char*)malloc(x);
printf("
Nhap vao chuoi : ");
gets(s);
printf("
Do dai chuoi vua nhap : %d",strlen(s));
getch();
}
Chương trình vẫn chạy được nhưng cho ra kết quả sai, mình tìm hoài mà không biết sai vì đâu, nhờ các bạn có kinh nghiệm hơn giúp đỡ.
Mình xin chân thành cám ơn...
- - - Nội dung đã được cập nhật ngày 19-07-2014 lúc 09:50 PM - - -
À, mình đã tìm ra, đó là lỗi vùng đệm....
View more random threads:
xã hội vững mạnh, nhu cầu mặc đẹp của con người ngày càng cao. ngành công nghiệp thời trang cũng đang vững mạnh chóng vánh. những nhà máy gia công hàng may mặc chẳng thể đóng góp lặng thầm vào sự...
Tìm xưởng may gia công tại TP Hồ...