| |
变量a定义为double代表双精度数,而scanf()用%lf表示双精度。用%f代表浮点数。上面语句可以改为: double a; scanf("%lf", &a);
举例如下:
example:
int a; long int b; unsigned int c; float d; double e; long double f; char s[100]; scanf("%d", &a); // store an int scanf(" %d", &a); // eat any whitespace, then store an int scanf("%s", s); // store a string scanf("%Lf", &f); // store a long double // store an unsigned, read all whitespace, then store a long int: scanf("%u %ld", &c, &b); // store an int, read whitespace, read "blendo", read whitespace, // and store a float: scanf("%d blendo %f", &a, &d); // read all whitespace, then store all characters up to a newline scanf(" %[^\n]", s); // store a float, read (and ignore) an int, then store a double: scanf("%f %*d %lf", &d, &e); // store 10 characters: scanf("%10c", s);