Tôi đang cố gắng tạo một chương trình C đơn giản cho một lớp và một trong các yêu cầu là tôi bắt buộc phải sử dụng scanf
/printf
cho tất cả đầu vào và đầu ra. Câu hỏi của tôi là tại sao nó là scanf
của tôi sau khi vòng lặp for trong chính bị bỏ qua và chương trình chỉ chấm dứt.scanf Bắt Bỏ qua
Đây là mã của tôi
#include <stdio.h>
void main() {
int userValue;
int x;
char c;
printf("Enter a number : ");
scanf("%d", &userValue);
printf("The odd prime values are:\n");
for (x = 3; x <= userValue; x = x + 2) {
int a;
a = isPrime(x);
if (a = 1) {
printf("%d is an odd prime\n", x);
}
}
printf("hit anything to terminate...");
scanf("%c", &c);
}
int isPrime(int number) {
int i;
for (i = 2; i < number; i++) {
if (number % i == 0 && i != number)
return 0;
}
return 1;
}
tôi đã có thể "sửa chữa" nó bằng cách thêm một giống scanf
sau khi người đầu tiên, nhưng tôi muốn chỉ cần sử dụng một trong các.
Bạn đã thử 'hệ thống (" PAUSE ");'? –
là có sẵn trong C thẳng hoặc chỉ C + +? –
Staight c. Lưu ý việc thiếu một không gian tên? –