现在可以了,你错的地方我给了你一个注释。你主要是写反了参数。
我刚还担心你别是跟我学着写反了,我又回去看了下我的代码,所幸我没写反。
我还第一次看这题的答案,答案确实写的比我好天上去了。
我刚还担心你别是跟我学着写反了,我又回去看了下我的代码,所幸我没写反。
我还第一次看这题的答案,答案确实写的比我好天上去了。
程序代码:
#include<stdio.h> #include<string.h> void dollars(register char *dst, register char *src); int main(void) { char s1[20]; char s2[20]; while( gets(s1) && s1[0]!='\0') { dollars(s2, s1);//这里你写反了,函数的目的是将第二个参数所指向的字符串复制到第一个参数。 printf("translation is %s\n", s2); } return 0; } void dollars(register char *dst, register char *src) { int len; if(dst==NULL || src==NULL) return; *dst++='$'; len=strlen(src); if(len>=3) { int i; for(i=len-2;i>0;) { *dst++=*src++; if(--i>0 && i%3==0) *dst++=','; } } else *dst++='0'; *dst++ = '.'; *dst++ = len<2 ? '0': *src++; *dst++ = len<1 ? '0': *src; *dst = '\0'; }
[此贴子已经被作者于2017-4-1 17:08编辑过]
09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。