30/09/2018, 16:04
Giúp mình về câu lệnh trong đoạn code sau với
code này dùng để đếm số lần xuất hiện của mỗi chữ số,khoảng trắng(tab,blank,khoảng trống) và các ký tự khác.Nhờ mọi người giải thích giúp mình chức năng của câu lệnh ++ndigit[c-‘0’];
#include <stdio.h>
#include<conio.h>
/* count digits, white space, others */
void main()
{
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; ++i)
ndigit[i] = 0;
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
else if (c == ' ' || c == '
' || c == ' ')
++nwhite;
else
++nother;
printf("digits =");
for (i = 0; i < 10; ++i)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %d
", nwhite, nother);
getch();
}
Bài liên quan
Lệnh này là lênh kép, khá phức tạp, để Đạt phân tích lệnh này thành nhiều lệnh tương ứng
tương đương