嗨我有一个关于将数据输入数组的问题
为什么 scanf'\n'
在这段代码中存储到数组的第一个元素中?
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
int main (void)
{
// Global declarations
int str_length;
char str[MAX];
int count;
char temp;
// Statements
// prompt user for string length
printf("Enter string length: ");
scanf("%d", &str_length);
printf("Enter string: ");
// input string
for(count = 0; count < str_length; count++)
{
scanf("%c", &str[count]);
printf("%c", str[count]);
}
for(count = 0; count < str_length; count++)
{
temp = str[0]; // set temp to the first element
str[count] = str[count+1]; // set the next element to be the first element
str[str_length-1] = temp; // swap the first element and the last element
puts(str);
}
system("PAUSE");
return 0;
}
当我输入1234567890
数组而不是 1 作为第一个元素时,第一个元素是换行符'\n'
。
提前感谢您的帮助。