30/09/2018, 16:12

Sửa giúp mình hàm lật tên

Mình muốn lật tên lại nhưng không hiểu tại sao lại có dấu ‘(’ đằng trước ???

Sáng Béo viết 18:24 ngày 30/09/2018

do kí tự kết thúc chuỗi đó bạn.
bạn làm sao để cái đệ quy nó bỏ vòng cuối là ổn.
nãy giờ mình nghĩ ko ra.

Minh Hoàng viết 18:27 ngày 30/09/2018

kí tự kết thúc chuỗi là /0 mà ??? tại sao lại trở thành (

Sáng Béo viết 18:13 ngày 30/09/2018

kí tự kết thúc chuỗi là /0 mà ??? tại sao lại trở thành (

máy mình thì nó hiện @.
nói chung mình chắc chắn đó là kí tự kết thúc chuỗi

Minh Hoàng viết 18:20 ngày 30/09/2018

mình thay đổi tam1[30] thành tam1[33] thì bình thường ??? ai giải thích giùm mình với

Nguyễn Minh Dũng viết 18:22 ngày 30/09/2018

Copy code lên đi @Rok_Hoang ơi, nhìn hình lười biếng quá

Minh Hoàng viết 18:16 ngày 30/09/2018
#include <stdio.h>
#include <math.h>
#include <limits.h>
#include <string.h>
void    lat(char *tam,char *tam1)
{
    if (tam!=NULL)
    {
        lat(strtok(NULL," "),tam1);
        strcat(tam1,tam);
        strcat(tam1," ");
    }
}
int main()
{
    char *tam,tam1[34];
    char a[]="Vu Ngoc Minh Hoang";
    tam=strtok(a," ");
    lat(tam,tam1);
    printf("%s",tam1);
    getch();
    return 0;
}

đây anh ơi

Minh Hoàng viết 18:18 ngày 30/09/2018

Anh Đạt cho em hỏi này cái… kiểu struct ấy mình có thể chuyền cho nhau được không… ví dụ em có struct

struct	student
{
	char	name[30];
	float	score;
};

thì khi em khai báo 2 biến A và B kiểu struct,liệu em có thể chuyền dữ liệu từ B sang A bằng phép gán A=B được không anh ?
còn khi mình chuyền một biến kiểu cấu trúc vào hàm thì chuyền địa chỉ đúng không anh?

Lâm Quang Minh viết 18:25 ngày 30/09/2018

Code có vẻ vui,
Nhưng lỗi đơn giản chỉ là chưa set giá trị ban đầu cho chuỗi kết quả,
Khi ta khai báo char tam1[34] thì chương trình sẽ cấp phát cho ta một vùng nhớ chưa sử dụng bất kì có kích thuớc 34 byte, như vậy tam1 vẫn có giá trị rác tồn tại sẵn trong bộ nhớ, như vậy lúc strcat ( tam1, abcd) thì nó sẽ là rác nối với abcd,
như vậy để tránh hiện tượng này thì khai báo char tam1[34] = {0}; Tức là cho chuỗi ban đầu là rỗng trước

Lâm Quang Minh viết 18:23 ngày 30/09/2018

struct có thể gán bằng với các kiểu dữ liệu cơ bản thôi
còn các kiểu phức tạp mình tự định nghĩa bằng operator =

Bài liên quan
0