Các anh chị giúp em bài này, bà này đơn giản thôi. Chỉ là copy n ký tự của chuỗi st1 qua chuỗi t1. Em cấp phát bộ nhớ động cho chuỗi t1 bằng n nhập vào từ bàn phím nhưng khi kiểm tra strlen(t1) thì lúc nào cũng lớn hơn giá trị n kèm theo đó là các ký tự đặc biệt đi kèm khi khai báo puts(t1).
Đây là code của em, mong mọi người giải thích.:beatbrick:
Đây là code của em, mong mọi người giải thích.:beatbrick:
Code:
#include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> void copychuoi(char*st1) { int n; char *t1; printf("Nhap vi tri n = "); scanf("%d",&n); t1=(char*)malloc(n+1); strncpy(t1,st1,n); puts(t1); printf("%d",strlen(t1)); } void main() { char st1[100]; printf("Nhap chuoi st1: "); gets(st1); copychuoi(st1); getch(); }
Comment