01/10/2018, 00:37

Dấu ngoặc nhọn trong vòng lặp

cho e hỏi trong trường hợp nào dùng vòng lặp for mà không cần dấu ngoặc nhọn kèm theo, ct bên dưới khi không có dấu ngoặc nhọn thì kết quả lại đúng , còn có dấu ngoặc nhòn thì kết quả k đúng

#include <stdio.h>
#include <stdlib.h>
int main ()
{
	int n,i ,arr[50];
	printf ("Nhap so phan tu :");
	scanf ("%d",&n);
	for (i=0;i<n;i++)
	{
		printf ("Nhap so phan tu thu %d :",i);
		scanf ("%d",&arr[i]);
	}
system("cls");
	printf ("Mang vua nhap la :");
	for (i=0;i<n;i++)
	{
		printf ("%5d",arr[i]);
	}
int j,ptx;
printf ("
Nhap phan tu can xoa:");
scanf ("%d",&ptx);
for (i=0;i<n;i++)
	{
		while(arr[i]== ptx)
			{
				if (i == n-1)
					{
						n--;
						break;
					}
				else
				{
				
						for (j=i;j<n-1;j++)
						arr[j]=arr[j+1];
						n--;
				} 
			}
	}
	printf ("Mang sau khi xoa phan tu can xoa la :
");
	for (i=0;i<n;i++)
	{
		printf ("%5d",arr[i]);
	}
}
viết 02:40 ngày 01/10/2018

Dấu { } để bao một đoạn code, gọi là code block. Nếu sau for, if hoặc while mà bạn có nhiều hơn một câu lệnh thì bạn dùng cặp dấu { }, còn chỉ có một câu lệnh thì không cần để cặp dấu { }.

Nguyễn Thành Trung viết 02:44 ngày 01/10/2018

bạn hiểu đơn giản nó thế này
ví dụ if cho dễ hiểu
a = 2;
if (a > 1)
printf(“Đây là số lớn hơn một\n”);
else
printf(“Số đó là %d\n”, a);
printf(“Và số bé hơn một\n”);
nếu bạn không dùng dấu {} để mở tầm vực ở phần else ra thì output của bạn sẽ là
đây là số lớn hơn một
Và số này bé hơn một
vì nếu bạn không mở tầm vực cái block ( gọi là khối lệnh) của bạn sẽ bị giới hạn chỉ có một câu lệnh vậy có nghĩa cái phần else nó nghĩ là chỉ có mỗi một lệnh printf và tiếp tục dịch xuống dưới mặc dù ý của bạn là phần else gồm 2 cái printf
máy tính nó ngu lắm…nên bạn phải chỉ nó chi tiết…không là đi hết output.

Đào Thành Đạt viết 02:38 ngày 01/10/2018

cảm ơn bạn , câu tl rất hay và hài

Đào Thành Đạt viết 02:47 ngày 01/10/2018

cảm ơn a , h e hiểu r ạ

Nguyễn Thành Trung viết 02:48 ngày 01/10/2018

mình cũng từng như bạn nên mình muốn giúp những người như mình thật nhiều nhất có thể vì lúc đó mình cũng mong muốn có người hướng dẫn

Đào Thành Đạt viết 02:45 ngày 01/10/2018

mình cũng mới chỉ bắt đầu học nên cũng còn yếu kém lắm hê hê

Nguyễn Thành Trung viết 02:46 ngày 01/10/2018

tùy mỗi loại ngôn ngữ mà nó chia block bằng các cách khác nhau như Python bằng tab or space còn Pascal thì bằng Begin + End; riêng mấy cái C thì bằng {}…Nhưng cách hoạt động thì nó như nhau à

Lương Quang Mạnh viết 02:52 ngày 01/10/2018

Hiểu rồi thì hãy đánh dấu là Solved để khích lệ người trả lời.

Bài liên quan
0