Open HHHHXXXX520 opened 4 years ago
1.和编译器输出中的结果应该无关,编译器中输出的结果是说的是没有使用scanf的返回值,我们平时是用scanf很多时候都不使用scanf的返回值,所以基本每次在pta上编译都会出现这样的显示,但是它对答案没有影响。 2.你的问题是,将输入的结束标志'\n’输出了,在while结束的时候,a[i-1]中存储的值是'\n',因为只有这样while才会结束循环,但是你输出的时候for(int u=i-1;u>=0;u--)又从a[i-1]输出,所以直接输出的是'\n',这就是格式错误的原因
1.和编译器输出中的结果应该无关,编译器中输出的结果是说的是没有使用scanf的返回值,我们平时是用scanf很多时候都不使用scanf的返回值,所以基本每次在pta上编译都会出现这样的显示,但是它对答案没有影响。 2.你的问题是,将输入的结束标志'\n’输出了,在while结束的时候,a[i-1]中存储的值是'\n',因为只有这样while才会结束循环,但是你输出的时候for(int u=i-1;u>=0;u--)又从a[i-1]输出,所以直接输出的是'\n',这就是格式错误的原因 谢谢!!已修改成功!
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式:
在一行中输出逆序后的字符串。 输入样例:
Hello World!
输出样例:
!dlroW olleH
上交pta说格式错误,貌似说的是scanf的返回值?这该如何是好... 谢谢!!
‘’‘C
include
int main(){ char a[80]; int i=0; a[0]='p'; while(a[i-1]!='\n'){ scanf("%c",&a[i++]); } for(int u=i-1;u>=0;u--){ printf("%c",a[u]); } return 0; } ’‘’