Bài tập chuỗi c

sao biến a của trong bài em bị thay đổi giá trị vậy mn. :frowning:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

    void ten(char c[]) {
	int j;
	printf("%c", c[0] - 32);
	for (j = 1; j < strlen(c); j++) {
		if (c[j] == ' ') {
			printf(" %c", c[j+1] - 32);
			j++;
		}
		else printf("%c", c[j]);
	}
    }

    int main() {
	int i;
	int a;
	int t = 0;
	printf("Nhap so nguoi: "); scanf("%d", &a);
	char c[a][30];
	gets(c);
	for (i = 1; i <= a; i++) {
		printf("%d", a);
		printf("Nhap ho ten cho nguoi thu %d: ", i); gets(c[i]);
	    }
	    for (i = 1; i <= a; i++) {
		    printf("Ten nguoi thu %d: ", i);
		ten(c[i]);
		printf("\n");
	}
	return 0;
    }

char c[a][30]

là mảng 2 chiều à bạn

2 Likes

vâng anh. không biết lỗi chỗ nào :frowning:

mảng 2 chiều mà sao mấy chỗ kia chỉ là c[i] thế. đáng ra phải truyền c[i][j] chứ

3 Likes

mình cũng không biết giải thích như thế nào b

bạn vào code là biết ngay ấy

bạn dùng gì nhỉ, Dev c à, chứ visual mình chạy thì đầy lỗi

Chắc lỗi gets_s hay cái gì đó thôi.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?