下面的C函数接受两个ASCII字符串,并确定其中一个是否是另一个的字谜。字符串s的字谜是通过排列s中的字母而获得的字符串。
null
int anagram (char *a, char *b) { int count [128], j; for (j = 0; j < 128; j++) count[j] = 0; j = 0; while (a[j] && b[j]) { A; B; } for (j = 0; j < 128; j++) if (count [j]) return 0; return 1; }
为语句A和B选择正确的选项。 (A) A:计数[A[j]++和B:计数[B[j]]- (B) A:计数[A[j]++和B:计数[B[j]]++ (C) A:计数[A[j++]++和B:计数[B[j]]- (D) A:计数[A[j]++和B:计数[B[j+]]-
答复: (D) 说明:
#include <stdio.h> char a[100], b[100]; int main( void ) { int flag; printf ( "Enter first string" ); gets (a); printf ( "Enter second string" ); gets (b); flag = anagram(a, b); if (flag == 1) printf ( ""%s" and "%s" are anagrams." , a, b); else printf ( ""%s" and "%s" are not anagrams." , a, b); return 0; return 0; } int anagram ( char *a, char *b) { int count [128], j; for (j = 0; j < 128; j++) count[j] = 0; j = 0; while (a[j] && b[j]) { count [a[j]]++; count[b[j++]]--; } for (j = 0; j < 128; j++) if (count [j]) return 0; return 1; } |
这个问题的小测验 如果你在上面的帖子中发现任何错误,请在下面发表评论
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END