[ad_1]
#include<stdio.h> int main() { int marks; printf("Enter the Marks:"); scanf("%d", &marks); if("marks >= 95"){ printf("Grade is A+ \n"); } else if("marks > 80 && marks < 95"){ printf("Grade is B+ \n"); } else if("marks > 70 && marks < 80"){ printf("Grade is B \n"); } else { printf("Grade is C \n"); } printf("Thank you!"); return 0; }
Apa yang saya coba:
Saya telah belajar tentang fungsi if dan else if. Saya telah mencoba mengkompilasi kode dan tidak berjalan sebagaimana mestinya.
Solusi 1
if("marks >= 95"){ ^ ^
Anda telah menempatkan Anda if
ekspresi dalam tanda kutip ganda yang berarti ekspresi tersebut tidak akan pernah dievaluasi*. Hapus saja tanda kutip sehingga kompiler dapat membuat tes ekspresi yang tepat.
*Pada kenyataannya, karena senarnya tidak NULL
mereka selalu menilai sebagai TRUE
.
Solusi 2
if
Dan else if
bukan fungsi. Itu adalah konstruksi bahasa.
Kamu bilang kamu sudah mempelajarinya if
, tapi tidak cukup. JANGAN letakkan ekspresi kondisional Anda di dalam tanda kutip.
if("marks >= 95"){
menjadi
if(marks >= 95) {
Karena Anda seorang pemula, saya SANGAT menyarankan agar Anda memasang kurung kurawal pembuka pada barisnya sendiri sehingga Anda dapat lebih mudah melacak kurung kurawal mana yang sejajar satu sama lain.
if (marks >= 95) { printf("Grade is A+ \n"); }
Solusi 3
Untuk menambah apa yang telah dikatakan, Anda hampir pasti memiliki alat yang akan membantu Anda: alat ini disebut debugger. Cara Anda menggunakannya bergantung pada sistem kompiler Anda, tetapi Google cepat untuk nama IDE dan “debugger” Anda akan memberikan informasi yang Anda butuhkan. Apa yang dilakukannya adalah memungkinkan Anda mengeksekusi kode baris demi baris dan melihat variabel untuk melihat isinya, dan mengikuti kemana kode pergi saat sedang berjalan.
Letakkan breakpoint pada baris pertama fungsi, dan jalankan kode Anda melalui debugger. Kemudian lihat kode Anda, dan data Anda, lalu cari tahu apa yang harus terjadi secara manual. Kemudian satu langkah setiap baris untuk memeriksa apakah apa yang Anda harapkan terjadi adalah apa yang terjadi. Jika tidak, saat itulah Anda mempunyai masalah, dan Anda dapat menelusuri kembali (atau menjalankannya lagi dan melihat lebih dekat) untuk mencari tahu alasannya.
Maaf, kami tidak dapat melakukannya untuk Anda – saatnya Anda mempelajari keterampilan baru (dan sangat, sangat berguna): debugging!
[ad_2]
コメント