Tôi đang làm việc với microsoft visual studio 2012 và cố gắng tạo ra một loại bong bóng. Đây là mã của tôi:phân loại bong bóng và getchar trong c
#include "stdafx.h"
#include "String.h"
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int array[100], n, c, d, swap;
printf("enter numbers of elements\n");
scanf_s("%d",&n);
printf("enter %d integers\n", n);
for (c = 0; c < n; c++){
scanf_s("%d", array);
}
for (c = 0; c < (n - 1); c++)
{
for (d = 0; d < n - c - 1; d++)
{
if (array[d]>array[d + 1]){
swap = array[d];
array[d] = array[d + 1];
array[d + 1] = swap;
}
}
}
printf("sorted list in ascending order:\n");
for (c = 0; c < n; c++){
printf("%d\n", &array[c]);
}
getchar();
return 0;
}
Trước hết, tôi không thể tạo bảng điều khiển cho mục nhập chính. getchar()
có vẻ như không hoạt động nhưng tôi không có bất kỳ lỗi nào. Thêm vào đó khi tôi thấy giao diện điều khiển trong một giây, tôi có thể nói rằng các số được liệt kê như "-310892". Tôi không biết tại sao.
Cuộc gọi 'scanf_s ("% d", mảng) 'sẽ đọc vào mục đầu tiên trong' array', * tất cả các thời gian * . –
nên được mảng [c] tôi nghĩ? –
Không, nên là '& mảng [c]' hoặc '(mảng + c)': Bạn cần một con trỏ tới 'int' tại đây. –