学习C语言遇到个小问题,大家请看看。
发表于 : 2014-11-30 17:02
要求时这样的,从终端输入一串字符,回车结束输入。然后反序打印输入的内容。
如果我输入的速度慢点,反序输出的开头几个字符没有乱码,输入快点,就有乱码了,请大家看看。
如果我输入的速度慢点,反序输出的开头几个字符没有乱码,输入快点,就有乱码了,请大家看看。
我慢慢输入就没问题。dryland718 写了:line[]输入以后没有结束啊 加个'\0'才能用strlen
代码: 全选
for (index = strlen(line) - 1; index >= 0; index--) {
printf("%c", line[index]);
}
代码: 全选
for (int i=1;i<255;i++) {
if (line[i]==0) {
printf("%d ",i);
}
}
printf("\n");
代码: 全选
line[index]=0
代码: 全选
for (index--;index>=0;index--) {
代码: 全选
#include "stdio.h"
#include "string.h"
int main(int argc, char const *argv[])
{
char line[255], ch;
int count = 0;
while ((scanf("%c", &ch) == 1) && (ch != '\n')) {
line[count] = ch;
count++;
}
for (int index = count; index >= 0; index--) {
printf("%c", line[index]);
}
printf("\n");
return 0;
}
代码: 全选
#include <stdio.h>
int main(int argc, char *argv[])
{
char line[1024]="";
scanf("%[^\n]", line);
printf("%s\n", line);
return 0;
}