int main () { a->f(foo); // gets bogus error because foo's size unknown. a->f(baz); a->f(fred); bing(fred); bing(foo); bing(baz); }
int main() { int t,aa,bb; scanf("%d",&t); for(int i=1;i<=t;i++) { mm=0; if(i!=1) printf("\n"); scanf("%d%d",&m,&n); for(int i=1;i<=m;i++) { pa[i]=i; pa1[i]=0; } for(int i=1;i<=n;i++) { scanf("%d%d",&aa,&bb); if(cha(aa)==cha(bb)) { if(pa1[aa]==pa1[bb]) mm=1; } else bing(aa,bb); } printf("Scenario #%d:\n",i); if(mm) printf("Suspicious bugs found!\n"); else printf("No suspicious bugs found!\n"); } return 0; }
int vcprintf(const char *fmt, va_list args) { int len, DynamicColourFlag = 0, ColourCount; unsigned long num; int i, base; char *s; int flags; /* flags to number() */ int field_width; /* width of output field */ int precision; /* min. # of digits for integers; max * number of chars for from string */ int qualifier; /* 'h', 'l', or 'L' for integer fields */ for (; *fmt; ++fmt) { ColourCount = 0; if (*fmt != '%') { if (*fmt == 1) { if (*(fmt + 1) == '%') { DynamicColourFlag = 1; /* * Tricky stuff... */ } else { DynamicColourFlag = 0; ColourChar(*(++fmt)); } } else bing(*fmt); continue; } /* * process flags */ flags = 0; repeat: ++fmt; /* * this also skips first '%' */ switch (*fmt) { case '-': flags |= LEFT; goto repeat; case '+': flags |= PLUS; goto repeat; case ' ': flags |= SPACE; goto repeat; case '#': flags |= SPECIAL; goto repeat; case '0': flags |= ZEROPAD; goto repeat; } /* * get field width */ field_width = -1; if (is_digit(*fmt)) field_width = skip_atoi(&fmt); else if (*fmt == '*') { ++fmt; /* * it's the next argument */ field_width = va_arg(args, int); if (field_width < 0) { field_width = -field_width; flags |= LEFT; } } /* * get the precision */ precision = -1; if (*fmt == '.') { ++fmt; if (is_digit(*fmt)) precision = skip_atoi(&fmt); else if (*fmt == '*') { ++fmt; /* * it's the next argument */ precision = va_arg(args, int); }
void number(long num, int base, int size, int precision ,int type) { char c, sign, tmp[36]; const char *digits = "0123456789abcdefghijklmnopqrstuvwxyz"; int i; if (type & LARGE) digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; if (type & LEFT) type &= ~ZEROPAD; if (base < 2 || base > 36) return; c = (type & ZEROPAD) ? '0' : ' '; sign = 0; if (type & SIGN) { if (num < 0) { sign = '-'; num = -num; size--; } else if (type & PLUS) { sign = '+'; size--; } else if (type & SPACE) { sign = ' '; size--; } } if (type & SPECIAL) { if (base == 16) size -= 2; else if (base == 8) size--; } i = 0; if (num == 0) tmp[i++] = '0'; else while (num != 0) tmp[i++] = digits[do_div(num, base)]; if (i > precision) precision = i; size -= precision; if (!(type & (ZEROPAD + LEFT))) while (size-- > 0) putchar(' '); if (sign) putchar(sign); if (type & SPECIAL) { if (base == 8) putchar('0'); else if (base == 16) { putchar('0'); putchar(digits[33]); } } if (!(type & LEFT)) while (size-- > 0) bing(c); while (i < precision--) putchar('0'); while (i-- > 0) bing(tmp[i]); while (size-- > 0) putchar(' '); return; }