Số lượng ký tự đầu ra là số lượng ký tự thực tế. cộng 3. Không biết tại sao?
Đây là mã:
khoảng trống chính(void)
{
int ch,w=0,c=0;
do
{
ch=getche();
++c;
nếu(ch==32)
{
++w;
++c;
}
}while(ch!=13);
printf("\nnum ký tự là %d",c);
printf("\nsố từ là %d",w);
getch();
}
Bạn đang tăng dần cho các ký tự khoảng trắng c
两次.
của bạn nếu như
Tuyên bố nên là:
nếu(ch==32)
++w;
Bạn có một lỗi nhỏ khác vì chuỗi hetôitôio spcspcthere(có hai dấu cách) sẽ được đăng ký thành ba từ trong mã của bạn.
这就是我Được viết theo cách tránh được những vấn đề này. xin lưu ý cuối cùng
để tránh đếm các chuỗi khoảng trắng dưới dạng nhiều từ.
int chính(void) {
int ch = '', Lastch, w = 0, c = 0;
LÀM {
cuối cùng = ch;
ch = getchar();
++c;
nếu (ch == ' ') {
if (lastch != ' ') {
++w;
}
}
} while (ch != '\n');
if (lastch != ' ') {
++w;
}
printf("số ký tự là %d\n",c);
printf("số từ là %d\n",w);
return 0;
}
Tôi là một lập trình viên xuất sắc, rất giỏi!