01/10/2018, 16:51

Liệu do em hay do Visual Studio bị lỗi

#include "stdafx.h"
#include "string.h"


int main()
{
	char a[20];
	int b;
	printf("Enter your name : ");
	scanf_s("%c", &a);
	b = strlen(a);
	printf("Length of your name : %i
", b); 
    return 0;
}

Dạ em đang lớp 10 và em học C qua Udemy. Khi em biên dịch trên mạng bằng C compiler online thì nó sẽ đếm được số từ em input từ bàn phím, còn khi em dùng Visual Studio 2017 thì nó sẽ luôn ra result là 31 dù em input bất kì thứ gì ạ. Mong anh/chị giải đáp thắc mắc cho em ạ.
Và em đã học được swtich,If condition,loop,while.do-while,pointers,reference,structs,array và function ạ. Cho em hỏi rằng ở C còn gì mà em bỏ qua không ạ ? Hay em nên bước qua C++ ạ ?
Lần đầu em biết đến diễn đàn và post bài. Em thành thật cảm ơn ạ.
Hình ảnh :

rogp10 viết 18:55 ngày 01/10/2018

Ủa, bạn nhập 1 char mà xem strlen làm gì?

Lý Hoành Nghị viết 19:00 ngày 01/10/2018

Là sao bạn, mình mới học thấy nói strlen là hàm tính độ dài trong chuỗi, xin bạn giải đáp thắc mắc giúp mình
cảm ơn ạ

rogp10 viết 19:07 ngày 01/10/2018

Thì bởi bạn nhập 1 char "%c" mà xem độ dài chuỗi thì rất là hên xui.

Bài liên quan
0