不怕麻烦的请进【一个很有难度的C语言问题】 &只有高手才能回答上来&

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:02:30
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE* fp;

char a[5][70][3];
int i;
int j;
int k;
if((fp=fopen("D:\\c.txt","r"))==NULL)
exit(0);
for (i=0;i <4;i++)
for(j=0;j <70;j++)
for (k=0;k <3;k++)
a[i][j][k]=fgetc(fp);

fclose(fp);

for (i=0;i <4;i++)
for(j=0;j <70;j++)
{
for (k=0;k <3;k++)
printf("%c",a[i][j][k]);
printf("\n");
}

//return 0;

for (i=0;i <4;i++)
for(j=0;j <70;j++)
{ for (k=0;k <3;k++)
if(strcmp("a[i][j][k]","UUU")||strcmp("a[i][j][k]","UUC"))
printf("苯丙氨酸 ");
i

你写的strcmp("a[i][j][k]","GUU")这种类型的代码都错了,你希望用strcmp()函数比较两个字符串是不是一样,但是a[i][j][k]=fgetc(fp);只是读入一个字符,你怎么能拿一个字符和字符串相比,虽然编译通过,但是因为strcmp("a[i][j][k]","GUU")=0,所以结果是printf("0 ");
改正:把a[i][j][k]改为a[i][j],就可以了,
问题问的很简单的。。。。

倒~~~~~~

确实答不出来,问题都没有。

有问题么?编译没有报错吖~~~

strcmp("a[i][j][k]","UAU")||strcmp("a[i][j][k]","UAC"))
至少得先把"a[i][j][k]"的引号去掉吧,你是想和a[i][j][k]对比,不是("a[i][j][k]"