#include <iostream> using namespace std; int main() { int flag; cin >> flag; int* sensorPtr = nullptr; // אתחול פוינטר ריק כברירת מחדל if (flag == 1) { sensorPtr = new int; // הקצאת זיכרון דינמית על ה-Heap cin >> *sensorPtr; // קריאת הערך לתוך הכתובת אליה מצביע הפוינטר } // --- הלוגיקה שחסרה --- if (sensorPtr == nullptr) { // בדיקה האם הפוינטר עדיין מצביע לכלום cout << "NO SENSOR" << endl; } else { // גישה לערך (Dereferencing) רק לאחר שווידאנו שהוא לא null cout << *sensorPtr << endl; } // ----------------------- delete sensorPtr; // ב-C++ זה בטוח לבצע delete על nullptr (לא קורה כלום) sensorPtr = nullptr; // פרקטיקה טובה ב-Firmware: איפוס הפוינטר לאחר המחיקה return 0; }
Test Cases
Test Results
Input
0
Expected Output
NO SENSOR