scanf读入
怎样将以上数据读入数组?读入的条件应该是什么?
{:10_286:} 本帖最后由 tommyyu 于 2022-10-15 15:40 编辑
读入一个:
int x, y;
scanf("[%d,%d]", &x, &y);
完整代码:
#include<stdio.h>
#define MAXN 200
int main() {
int x, y;
int i = 0;
while(scanf("[%d,%d] ", &x, &y) == 2) i++;
return 0;
} tommyyu 发表于 2022-10-15 15:34
读入一个:
怎样读入全部 tommyyu 发表于 2022-10-15 15:34
读入一个:
完整代码:
谢谢,可以问一下scanf等于2是什么意思吗 ? 为什么用 getchar()!='\0判定不能正常读入? 萨西摩尔·槿花 发表于 2022-10-15 16:08
谢谢,可以问一下scanf等于2是什么意思吗 ? 为什么用 getchar()!='\0判定不能正常读入?
scanf的返回值是正常输入的值的个数
'\0'是字符串末尾的字符串,输入的时候没有。可以改为getcher != '\n'。 本帖最后由 jackz007 于 2022-10-15 16:16 编辑
萨西摩尔·槿花 发表于 2022-10-15 15:36
怎样读入全部
#include <stdio.h>
/* 一次性整体读取 : */
int main(void)
{
char ch ;
int d , i , n = 0 ;
do {
scanf("[%d,%d]%c" , & d , & d , & ch) ;
n += 2 ;
} while(ch != '\n') ;
printf("[%d,%d]" , d , d) ;
for(i = 2 ; i < n ; i +=2) printf(" [%d,%d]" , d , d) ;
printf("\n") ;
}
编译、运行实况:
D:\\C>g++ -o a a.c
D:\\C>a
D:\\C>
页:
[1]