Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在循环内的一行中获取输入_C - Fatal编程技术网

C 在循环内的一行中获取输入

C 在循环内的一行中获取输入,c,C,我正在研究一个c编程问题。在这个问题上,我必须解决 一行两个字符。我必须重复这个过程n次。考虑下面的代码: char c[100],p[100]; int n; scanf("%d",&n); for(int i=0; i<n; i++) scanf("%c %c", &c[i], &p[i]); charc[100],p[100]; int n; scanf(“%d”和“&n”); 对于(int i=0;i,在将字符读入字符数组后,必须存储空值 char

我正在研究一个c编程问题。在这个问题上,我必须解决 一行两个字符。我必须重复这个过程n次。考虑下面的代码:

char c[100],p[100];
int n;
scanf("%d",&n);
for(int i=0; i<n; i++)
    scanf("%c %c", &c[i], &p[i]);
charc[100],p[100];
int n;
scanf(“%d”和“&n”);

对于(int i=0;i,在将字符读入字符数组后,必须存储空值

char c[100],p[100];
int n;
scanf("%d",&n);
for(int i=0; i<n; i++)
    scanf("%c %c", &c[i], &p[i]);
c[i] = '\0';
p[i] = '\0';
charc[100],p[100];
int n;
scanf(“%d”和“&n”);
对于(int i=0;i
应该是

scanf(" %c %c", &c[i], &p[i]);
在输入值
n
的末尾有一个换行符,因此您需要在
%c
之前放置一个空格来忽略它


注意,n的值应该是
nObjection,法官大人!假设事实没有证据。(我没有在任何地方看到
printf
put
或类似内容。据我们所知,OP可能在循环中使用
putchar
进行输出。实际上,OP根本没有提到输出-输入可以用于其他用途。我们怎么知道它必须是以nul结尾的字符串?)我不需要一个空字符,因为我不需要把数组看作一个字符串。虽然,我已经理解了这个问题。它是GOPI解释的新行字符。谢谢:-看到你的VLA大小安全的编辑,删除我的评论(也会删除这个,在你有时间看到它的某个时候-这个评论对你的答案没有任何价值)。
scanf(" %c %c", &c[i], &p[i]);
char c[100] = "";
char p[100] = "";
scanf("%d",&n);
char c[n];
char p[n];
for(int i=0; i<n-1; i++)
scanf(" %c %c", &c[i], &p[i]);