जो भी कारण निम्नलिखित कोड प्रिंट (शून्य) के लिए:scanf गतिशील आवंटन
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *foo;
scanf("%ms", &foo);
printf("%s", foo);
free(foo);
}
मैं एक स्ट्रिंग गतिशील के लिए स्मृति को आबंटित करने की कोशिश कर रहा हूँ, लेकिन जैसा कि मैंने कहा कि पहले मेरा कार्यक्रम बस आउटपुट (शून्य)। मैंने गेटचे और रीलॉक का उपयोग करके एक फ़ंक्शन बनाकर काम किया लेकिन यह इस तथ्य के कारण लगभग व्यर्थ लगता है कि मुझे यह भी प्रोग्राम करना पड़ा कि क्या होगा यदि उपयोगकर्ता बैकस्पेस, टैब इत्यादि में प्रवेश करता है .. लेकिन जैसा कि मैंने कहा कि यह सिर्फ एक काम है चारों ओर और मैं नहीं बल्कि क्यों उपरोक्त कोड काम नहीं कर रहा पता होगा ...
अतिरिक्त जानकारी:
मैं Pelles सी आईडीई v7.00 उपयोग कर रहा हूँ और सी 11 मानक के साथ संकलन
'% ms' क्या करना है? –
@ ग्रेग एम झंडा इनपुट को शामिल करने के लिए गतिशील रूप से स्मृति आवंटित करना चाहिए। –
क्या यह गैर मानक है? मुझे नहीं लगता कि मेरे 'स्कैनएफ' दस्तावेज में। –