Bagaimanakah alat pendidikan ini boleh diperbaiki?
Untuk meningkatkan keberkesanan alat ini, pertimbangkan cadangan berikut:
Kembangkan kes ujian: Sertakan pelbagai jenis kes ujian untuk merangkumi lebih banyak andaian biasa yang dibuat oleh pengaturcara. Contohnya boleh termasuk:
Ujian manakah yang bagus dan bagaimanakah rupanya?
1. Andaian Watak:
Kod:
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>Salin selepas log masukSalin selepas log masuk
Kod:
<code class="c">EXPECT("02 big letters come before small letters",('A'<'a'));Salin selepas log masuk
Kod:
<code class="c">EXPECT("04 a char is 8 bits",CHAR_BIT==8);Salin selepas log masuk
2. Andaian Integer:
Kod:
<code class="c">EXPECT("06 integers are 2-complement and wrap around",(int_max+1)==(int_min));Salin selepas log masuk
Kod:
<code class="c">EXPECT("05 int has the size of pointers",sizeof(int)==sizeof(void*));Salin selepas log masuk
3 . Andaian Penunjuk:
Kod:
<code class="c">EXPECT("10 void* can store function pointers",sizeof(void*)>=sizeof(void(*)()));</li> </ul> <p><strong>4. Andaian Pelaksanaan:</strong></p> <ul> <li> <strong>Ujian:</strong> Uji jika tindanan sentiasa tumbuh ke bawah.</li> <li> <p><strong>Kod:</strong></p> <blockquote><pre class="brush:php;toolbar:false"><code class="c">EXPECT("12 the stack grows downwards",check_grow(5,0)<0);</code>Salin selepas log masuk
Kod:
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>Salin selepas log masukSalin selepas log masuk
Adakah anda akan menjalankan ujian pada platform yang anda boleh dapatkan dan menyiarkan keputusannya?
Kami menggalakkan penyertaan komuniti dalam menguji andaian pada platform yang berbeza. Sila kongsi keputusan anda bersama-sama dengan maklumat berikut:
Atas ialah kandungan terperinci Adakah Kod C/C Anda Membuat Andaian Tidak Wajar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!