ಸ್ಪೀಕರ್ 1: ನ ಒಂದು ಗಮನಿಸೋಣ CS50 ಗ್ರಂಥಾಲಯದ ನಲ್ಲಿ, ನಿರ್ದಿಷ್ಟವಾಗಿ GetInt ಕಾರ್ಯ. ಇಲ್ಲಿ ನಾವು ನಿಜವಾದ ಮೂಲ GetInt ಕೋಡ್. ಮತ್ತು ಇದು ತುಂಬಾ ಅಲ್ಲ ಗಮನಿಸಿ, ಮತ್ತು ಬಹುತೇಕ ಲೂಪ್ ರೂಪಿಸುತ್ತದೆ - ಆ ಅನಂತ ಆದೇಶಗಳ - ಮಾತ್ರ ನಾವು ವಾಸ್ತವವಾಗಿ ಒಮ್ಮೆ ಒಂದು ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ನಾವು ನಿರೀಕ್ಷಿತ ನೆತ್ತಿಗೇರಿದೆ. ಇದು ಸಂಚರಿಸಲು ಅವಕಾಶ. ಮೊದಲ ಇಲ್ಲಿ ಗಮನಿಸಿ ಲೂಪ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಹಾಗೆಯೇ. ನಾವು ಕೋಡ್ ಒಂದು ಸಾಲು, ಮುಂದಿನ ಗಮನಿಸಿ ವಾಸ್ತವವಾಗಿ, GetString ಕರೆಗಳನ್ನು ಮತ್ತು ಒಂದು ಮರಳುವ ಮೌಲ್ಯವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ವೇರಿಯಬಲ್, ಕೌಟುಂಬಿಕತೆ ತಂತುವಿನ, ಲೈನ್ ಎಂಬ. ನಾವು ನಂತರ ಒಂದು ವಿವೇಕದ ಚೆಕ್ ಸ್ವಲ್ಪ ಹಾಗೆ. ಸಾಲು == ಶೂನ್ಯ ವೇಳೆ, ನಾವು ಕುತೂಹಲದಿಂದ INT_MAX ಮರಳಿ. ಈಗ INT_MAX ಎಂದು ತಿರುಗಿದರೆ ಒಂದು ವಿಶೇಷ ನಿರಂತರ ಬೇರೆಡೆ ಡಿಕ್ಲೇರ್ಡ್ ಎಂದು ದೊಡ್ಡ ಸಂಭವನೀಯ ಸೂಚಿಸುತ್ತದೆ ನೀವು ರಲ್ಲಿ ಪ್ರತಿನಿಧಿಸಬಹುದು ಎಂದು ಇಂಟ್ ಈ ಕಾರ್ಯಕ್ರಮ. ಈಗ ನಾವು ನಿರಂಕುಶವಾಗಿ ಮರಳಲು ನಿರ್ಧರಿಸಿದ್ದಾರೆ ಬಂದಿದೆ ಒಂದು ಸೆಂಟಿನೆಲ್ ಮೌಲ್ಯ INT_MAX ರೀತಿಯ, ನಾವು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ಒಂದು ದೋಷ ಅರ್ಥ ಸಂಭವಿಸಿದೆ. ನಾವು ಪಾವತಿ ಬೆಲೆ, ಕೋರ್ಸಿನ, ಎಂದು GetInt ಸ್ಪಷ್ಟವಾಗಿ ಸಾಧ್ಯವಿಲ್ಲ ವಾಸ್ತವವಾಗಿ ಎಂದು ದೊಡ್ಡ ಅನೇಕ ಹಿಂದಿರುಗಲು INT_MAX, ಇದು ಬಯಸುತ್ತಾರೆ ಸಹ ಏಕೆಂದರೆ, ಮರಳುವ ಮೌಲ್ಯವನ್ನು ನಿಜವಾಗಿಯೂ ಮಾಡಬೇಕು ಕಾಲರ್ ಮೂಲಕ ವಿವರಿಸಲಾಗುವುದು - ಯಾರೇ GetInt ಬಳಸಿಕೊಂಡು ವಿಶೇಷವೇನು - ಕೆಲವು ರೀತಿಯ ಒಂದು ದೋಷ ಎಂದು. ಮುಂದೆ, ನಾನು ಡಿಕ್ಲೇರ್ಡ್ ಎಂಬುದನ್ನು ಗಮನಕ್ಕೆ ಒಂದು int N ಮತ್ತು ಚಾರ್ ಸಿ. ಕೋಡ್ ಈ ಸರದಿಯಲ್ಲಿ ಮುಂದಿನ, ನಾನು ಕರೆ sscanf ಎಂಬ ಕ್ರಿಯೆಯ, ಹಾದುಹೋಗುವ ನಾಲ್ಕು ವಾದಗಳು. ಸ್ಟ್ರಿಂಗ್ ಇದು ಲೈನ್ ಬಳಕೆದಾರರ ಒಂದು ಫಾರ್ಮಾಟ್ ಬೆರಳಚ್ಚಿಸಿದ, "% ನಾನು% s", ನಾನು ಬಳಕೆದಾರ ಮೈಟ್ ನಿರೀಕ್ಷಿಸುತ್ತಿರುವುದಾಗಿ ನುಡಿದರು ಸ್ಟ್ರಿಂಗ್ ಆಫ್ ವಿಳಾಸಕ್ಕೆ ನಂತರ ಮಾದರಿ, ಎನ್, ಮತ್ತು ಸಿ ವಿಳಾಸ. ಜೀವನದಲ್ಲಿ ಈಗ sscanf ಉದ್ದೇಶಕ್ಕಾಗಿ ವಾಸ್ತವವಾಗಿ ಹುಡುಕುತ್ತಿರುವ ಸ್ಟ್ರಿಂಗ್ ಸ್ಕ್ಯಾನ್ ನಿರ್ದಿಷ್ಟ ರೂಪದಲ್ಲಿ ಎಂದು ಪ್ರೋಗ್ರಾಮರ್ ಎಂದು ಎರಡನೇ ವಾದ ಸ್ಪಷ್ಟಪಡಿಸಿದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ,% ನಾನು ಹೊಂದಿದೆ ,% ಸಿ ಇರುವುದರಿಂದ. Sscanf ಒಂದು ಇಂಟ್ ಎದುರಾಗುವ ಹಾಗಾಗಿ ಬಳಕೆದಾರ ಇನ್ಪುಟ್ ಎಂದು, ಇಂಟ್ ಸಂಗ್ರಹಿಸಲಾಗುವುದು n ಎಂಬ ವೇರಿಯಬಲ್, ಒಳಗೆ ಏಕೆಂದರೆ ನಾವು ಮೂರನೇ ಮಾಹಿತಿ ಒದಗಿಸಿದ n ನ ವಿಳಾಸಕ್ಕೆ sscanf ವಾದವು. ಇದು sscanf ವಾಸ್ತವವಾಗಿ ನಡೆಯಬಹುದಾಗಿತ್ತು ಇಲ್ಲ, ಮತ್ತು ಅದರೊಡನೆ ಮೌಲ್ಯ ನವೀಕರಿಸಿ. ಈಗ, ಸಂದರ್ಭದಲ್ಲಿ ಬಳಕೆದಾರ ರೀತಿಯ ಹೆಚ್ಚು ಏನೋ ಒಂದು ಅಥವಾ ಹೆಚ್ಚು ಅಂಕೆಗಳು ಹೆಚ್ಚು - ಅಂದರೆ, ಕೆಲವು ರೀತಿಯ ಒಂದು ಚಾರ್ - ಅವರ ವಿಳಾಸಕ್ಕೆ ಎರಡನೇ ವೇರಿಯಬಲ್ ಸಿ, ನಾವು ಅದರ ನಾಲ್ಕನೇ sscanf ರವಾನೆಯಾದವು ವಾದವು ಜನಸಂಖ್ಯೆ ನಡೆಯಲಿದೆ. ಈಗ ಒಂದು ಪರಿಶೀಲಿಸುತ್ತಿದೆ ಮೇಲಿನಿಂದ ಬಳಕೆದಾರ ಹೆಚ್ಚುವರಿ ಪಾತ್ರ ಎಂದು ಅವನು ಅಥವಾ ಅವಳು ಸಹಕಾರ ಇದ್ದಲ್ಲಿ, ಮತ್ತು ಕೇವಲ ಒಂದು ಇಂಟ್ ಹೆಚ್ಚು ರೀತಿಯ, ನಾವು ಈ ಅದನ್ನು ಪತ್ತೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ ರೀತಿಯಲ್ಲಿ, ಆ ಸಂದರ್ಭದಲ್ಲಿ, sscanf ಏಕೆಂದರೆ ಸೂಚಿಸುತ್ತಿದ್ದವು 2 ಮರಳಲು ಹೋಗುತ್ತದೆ ಎಂದು placeholders ಎರಡೂ ತುಂಬಿದ್ದವು ಮೌಲ್ಯಗಳು. ಆದರೆ ನಾವು ಬದಲಿಗೆ ಎಂದು sscanf ಆಶಯದೊಂದಿಗೆ ನೀವು ಕೇವಲ ಬಳಕೆದಾರ ಅಂದರೆ, 1 ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಒಂದು ಇಂಟ್ ಒದಗಿಸಿದ. ನಾವು ಏನು ಮಾಡಬೇಕು ವೇಳೆ sscanf ವಾಸ್ತವವಾಗಿ 1 ಹಿಂದಿರುಗಿಸುತ್ತದೆ? ಹಾಗೆಯೇ, ನಾವು ತಕ್ಷಣ ಸಾಲಿನ ಉಚಿತ ಎಂದು ಬಳಕೆದಾರ ನಂತರ ಬೆರಳಚ್ಚಿಸಿದ, ಮತ್ತು ನಾವು ತಕ್ಷಣ ಹೊಂದಿರುವ, ಎನ್ ಮರಳಲು ಒಂದು ಇಂಟ್ ನೆತ್ತಿಗೇರಿದೆ. ಎಲ್ಸ್, sscanf 1 ಮರಳಲು, ಮತ್ತು ಇದ್ದಲ್ಲಿ ಬಳಕೆದಾರ ಆದ್ದರಿಂದ ಸಹಕಾರ ಇಲ್ಲ, ನಾವು ಇನ್ನೂ ಸಾಲಿನ ಉಚಿತ, ಆದರೆ ನಾವು ಈಗ ಮರುಪ್ರಯತ್ನಿಸಲು ಬಳಕೆದಾರರು ಪ್ರಾಂಪ್ಟ್. ಮತ್ತು ನಾವು ಒಳಗೆ ಇನ್ನೂ ಇರುವ ಕಾರಣ ಇಲ್ಲದಿದ್ದರೆ ಅನಂತ ಆದೇಶಗಳ ಪ್ರಕ್ರಿಯೆ ಮತ್ತೆ ಆರಂಭಿಸಲು, ಮತ್ತು ಬಹುಶಃ ಮತ್ತೆ, ಮತ್ತು ಬಹುಶಃ ಮತ್ತೆ ರವರೆಗೆ ಬಳಕೆದಾರ ವಾಸ್ತವವಾಗಿ ನಮಗೆ ಒಂದು ಇಂಟ್ ಒದಗಿಸುತ್ತದೆ.