我对编程非常陌生并且决定从C开始。这是我第一个真正的问题,我无法自己解决这个问题。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char String[20];
int CharNo = 0;
//Asking the User to input some characters to use in the program
printf("Enter a few characters please:\n");
scanf("%s", String);
printf("%c\n", String[0]);
return 0;
}
我已经要求用户输入一些随机字符,然后我想要做的就是在新行上按字符打印输入字符串。如果我自己打印出其中一个角色,我自己就可以做到。
对此问题的任何帮助以及我的整体编码将不胜感激。
答案 0 :(得分:2)
使用for
循环!
for (size_t i = 0; i < string_length; ++i) {
/* print ith character of the string */
}
或者,如果你还在&lt; C99 1 ,在循环之前定义size_t i;
并用i = 0
初始化它。
注意:
scanf("%19s", String)
代替抢占缓冲区溢出。 19
为终止空字节留出空间string
或charNo
。如何处理一个标识符中多个单词的连接由您决定。常见的选择是first_second
和firstSecond
1 as @szczurcio在对此答案的评论中指出
答案 1 :(得分:1)
方法1
int len = strlen(String);
for (int i = 0; i < len; ++i )
{
printf("%c\n", String[i]);
}
方法2
char* cp = String;
for ( ; *cp != '\0'; ++cp )
{
printf("%c\n", *cp);
}
答案 2 :(得分:0)
#include <stdio.h>
#include <stdlib.h>
int main()
{
char String[20];
int CharNo = 0;
char *c;
printf("Enter a few characters please:\n");
scanf("%s", String);
c=String;
while(*c) putchar(*c++);
return 0;
}