|
@@ -5,20 +5,23 @@
|
|
|
int main(void)
|
|
|
{
|
|
|
const char *buf = "hello world";
|
|
|
- char *ps = NULL, *pc = NULL;
|
|
|
- char s[6], c;
|
|
|
+ char *ps = NULL, *pc = NULL, *ps2 = NULL;
|
|
|
+ char s[6], c, s2[5];
|
|
|
|
|
|
-
|
|
|
- sscanf(buf, "%[a-z] %c", s, &c);
|
|
|
-
|
|
|
- sscanf(buf, "%m[a-z] %mc", &ps, &pc);
|
|
|
+
|
|
|
+ sscanf(buf, "%[a-z] %c %s", s, &c, s2);
|
|
|
+
|
|
|
+ sscanf(buf, "%m[a-z] %mc %ms", &ps, &pc, &ps2);
|
|
|
|
|
|
if (strcmp(ps, "hello") != 0 || *pc != 'w' ||
|
|
|
- strcmp(s, "hello") != 0 || c != 'w')
|
|
|
+ strcmp(ps2, "orld") != 0 ||
|
|
|
+ strcmp(s, "hello") != 0 || c != 'w' ||
|
|
|
+ strcmp(s2, "orld") != 0)
|
|
|
return 1;
|
|
|
|
|
|
free(ps);
|
|
|
free(pc);
|
|
|
+ free(ps2);
|
|
|
|
|
|
return 0;
|
|
|
}
|