मैं कुछ सी कोड लिख रहा हूं और मेरे कोड में मेरे पास दो नेस्टेड लूप हैं। एक विशेष स्थिति पर मैं आंतरिक लूप और continue
बाहरी लूप से break
करना चाहता हूं। मैंने बाहरी लूप के कोड पर अंत में एक लेबल का उपयोग करके इसे प्राप्त करने का प्रयास किया, और उस स्थिति पर, goto
लेबल। हालांकि gcc
एक त्रुटि देता है कि मेरे पास यौगिक कथन के अंत में एक लेबल नहीं हो सकता है। क्यों नहीं?सी में आपको गोटो लेबल के बाद एक कथन की आवश्यकता क्यों है?
नोट 1: यह एक switch
बयान और कि सवाल का जवाब दे दिया गया है elsewhere नहीं है।
नोट 2: यह शैली के बारे में कोई सवाल नहीं है और क्या मुझे इसके बजाय goto
कथन या सशर्त चर का उपयोग करना चाहिए या नहीं करना चाहिए।
संपादित करें: लोग एक उदाहरण के लिए कहा है और यदि एक सरणी एक और सरणी के एक subarray
int superArray[SUPER_SIZE] = {...}, subArray[SUB_SIZE] = {...};
int superIndex, subIndex;
for (superIndex=0; superIndex<SUPER_SIZE-SUB_SIZE; superIndex+=1)
{
for (subIndex=0; subIndex<SUB_SIZE; subIndex+=1)
if (superArray[superIndex+subIndex] != subArray[subIndex])
goto break_then_continue;
// code that executes if subArray is a sub array
break_then_continue:
}
यदि आप एक छोटे प्रोग्राम है जो आप प्राप्त त्रुटि संदेश reproduces दे सकते हैं? – sarnold
अच्छी किस्मत और velociraptors के लिए बाहर देखो – wim