nếu bỏ thư viện <stdlib.h> và return() đi được không anh??
Cách dừng chương trình để xem kết quả
Em có thấy một ông nào đó trên mạng, bảo là không nên dùng system("pause")
, vì nó vô nghĩa, rồi blah blah gì đó nữa.
Ổng khuyên xài getch()
đối với C và cin.get()
với C++
getch() là cái của thư viện ngoài. Chính nó mới là không nên dùng.
Thông thường bây giờ codeblock hoặc dev-C đều đã có chế độ tự động dừng màn hình, nếu bản cũ không có thì dùng system là chuẩn rồi.
Trong linux thì tự dừng luôn không cần làm gì thêm cả.
Tất cả các kiểu trên đều không đúng chuẩn của lập trình cơ bản rồi.
Một chương trình không đồ hoạ, chính xác là phải được thực thi ở màn hình command line (hay còn gọi là Console, Terminal). Các lệnh trên các bạn thêm vào code là đang tự chính bạn là polluted code. Trừ khi là ứng dụng có giao diện (GUI app), còn không thì đừng cứ click đúp vào file executable (.exe trên Windows chẳng hạn).
Bật command line lên, build xong thì gõ lệnh cho nó chạy
C:\>program.exe
Thế mới là chính xác.
@ltd Làm một cái video trong C/C++ về “Thực thi một ứng dụng không giao diện một cách chính xác nhất” đi
Được anh, em thấy cái này hợp lý. Ngày đi học em không được mọi người hướng dẫn như thế.
anh ơi cho em hỏi dừng chương trình này thế nào ạ
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct Node
{
int info;
struct Node *pNext;
}Node;
typedef struct Node pp;
struct List{
pp *pHead;
pp *pTail;
};
typedef struct List LIST;
void Init (List &L)
{
L.pHead = L.pTail = NULL;
}
pp * GetNode(int x)
{
pp *p =new pp;
if(p==NULL)
{
return NULL;
}
else
p->info = x;
p->pNext = NULL;
return p;
}
void AddHead(LIST &L,pp *p)
{
if (L.pHead == NULL)
{
L.pHead = L.pTail = p;
}
else
p->pNext = L.pHead;
L.pHead = p;
}
void AddTail(LIST &L, pp *p)
{
if (L.pHead == NULL)
{
L.pHead = L.pTail = p;
}
else
L.pTail->pNext = p;
L.pTail = p;
}
void Input (LIST &L)
{
int i,n,x;
char a;
Init(L);
for ( i = 1; i <= n; i++)
{
printf("\n nhap phan tu : ");
scanf ("%d",&x);
pp *p = GetNode(x);
if (x != '#') ;
}
while (x != '#');
}
void Output(LIST &L)
{
for (pp *p = L.pHead; p != NULL; p = p->pNext)
{
printf("%4d", p->info);
}
}
int main()
{
LIST L;
Input(L);
Output(L);
getch();
return 0;
}