编写一个程序读入一行输入,然后反向打印该行,您可以把输入存储在一个char数组中: 假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次 读入一个字符,而且当您按下回车键时会产生换行符(/n)
《c primer pius》第六章第14题,发现网上好多都有问题,或过于复杂了,楼主刚开始学C,把自己的代码发出来。
#include
int main(void)
{
char input[255];
int i,j;
printf("请输入字符:");
do
{
for(i=0;i<255 && input[i-1]!='\n';i++)//&&input[i-1]!='\n'与的关系判断前一个字符是否为'\n'
scanf("%c",&input[i]); //并且与while相互配合判断,缺一不可
}while(input[i-1]!='\n'); //input[i-1]!='\n'结束while循环
printf("i=%d\n",i); //通过输出i值观察
for(j=i-2;j>=0;j--) //因input[i-1]为\n,所以j起始为i-2,否则输出时多一行回车
printf("%c",input[j]);
return(0);
}
#include<stdio.h>int main ( void ){char input [ 255 ];int i , j ;printf ( "请输入字符:" );do{for ( i = 0 ; i < 255 && input [ i - 1 ] != '\n' ; i ++ ) //&&input[i-1]!='\n'与的关系判断前一个字符是否为'\n'scanf ( "%c" , & input [ i ]); //并且与while相互配合判断,缺一不可} while ( input [ i - 1 ] != '\n' ); //input[i-1]!='\n'结束while循环printf ( "i=%d \n " , i ); //通过输出i值观察for ( j = i - 2 ; j >= 0 ; j -- ) //因input[i-1]为\n,所以j起始为i-2,否则输出时多一行回车printf ( "%c" , input [ j ]);return ( 0 );}