01/10/2018, 16:14

C problem, lệnh gets_s thứ 1 bị đè bởi lệnh gets_s thứ 2

#include "stdio.h"
#include "conio.h"
#include "ctype.h"
#include "string.h"
int main()
{
    char name[70], id[10];
    	int vitri = 0;
    	printf("enter name: "); 
    	gets_s(name);
    	printf("enter id: ");
    	gets_s(id);
    	int L = strlen(name);
    	int M = strlen(id);
    	for (int i = 0; i < L; i++)
    	{
    		if (name[i] == ' ')
    			vitri = i + 1;
    	}
    	for (int i = vitri; i < L; i++)
    		printf("%c", tolower(name[i]));
    	printf(".");
    	for (int i = 0; i < vitri; i++)
    	{
    		if (name[i] != ' ' && (name[i - 1] == ' ' || i == 0))
    		{
    			printf("%c", tolower(name[i]));
    		}
    	}
    	for (int i = 3; i < M; i++)
    		printf("%c", id[i]);
    	printf("@sinhvien.hoasen.edu.vn");
           _getch();
    }	

Em có thử xài fflush(stdin) nhưng không thành công cho lắm, khi cho chạy nó chỉ cho phép em nhập vào phần id còn phần name thì hoàn toàn không được. Mọi người có thể cho em biết em đang sai chỗ nào không ạ

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

fflush(stdin) giờ cũng hạn chế lắm rồi, getchar() từ từ là chạy được.

Thực ra fflush(stdin) là một câu không chỉnh nhưng vì lí do nào đó vẫn cho sử dụng thôi, sau này bỏ rồi.

Bài liên quan
0