हाँ आप काउंटर को लूप के भीतर बदल सकते हैं और कभी-कभी यह बहुत उपयोगी हो सकता है। उदाहरण के लिए कमांड लाइन तर्कों को पार्स करने में जहां एक मान के बाद एक विकल्प ध्वज है। इस का एक उदाहरण नीचे दिखाया गया है:
निम्न आदेश डालें:
program -f filename -o option -p another_option
कोड:
#include <string.h>
int main(int argc, char** argv)
{
char *filename, *option, *another_option;
if(argc > 1){
for(int i=1; i<argc; i++){
if(strcmp(argv[i],"-f")==0){
filename = argv[++i];
} else if(strcmp(argv[i],"-o")==0){
option = argv[++i];
} else if(strcmp(argv[i],"-p")==0){
another_option = argv[++i];
} else {
printf("Option \"%s\" not recognized, skipping\n",argv[i]);
continue;
}
}
} /* end if argc > 1 */
return 0;
}
उदाहरण कार्यक्रम स्वचालित रूप से सही कमांड लाइन स्ट्रिंग का उपयोग करने के काउंटर को बढ़ा देता। काउंटर इत्यादि को शामिल करने के कई तरीके हैं, लेकिन वे इस मामले में कोड को और अधिक बोझिल बना देंगे।
जैसा कि अन्य ने इंगित किया है, यह वह जगह है जहां कई लोग बग लिखते हैं और लूप के भीतर काउंटरों को बढ़ाने के दौरान सावधान रहना चाहिए, खासकर जब लूप काउंटर वैल्यू पर सशर्त होता है।
शानदार उदाहरण! Upvoted! – Jay