首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

新手,关于输出乱码!

2012-08-08 
新手求助,关于输出乱码!!#include stdio.h#include string.h#include malloc.hstruct person{char n

新手求助,关于输出乱码!!
#include <stdio.h>
#include <string.h>
#include <malloc.h>

struct person
{
char name[20];
int icount;
};

int main()
{
int i, len;
char iname[100];
struct person *pArr;
pArr = (struct person *)malloc(3 * sizeof(struct person));

for(i=0; i < 3; i++)
{
printf("请输入第%d位候选人的姓名:", i+1);
scanf("%s", pArr->name);
}

printf("请输入有多少张选票:");
scanf("%d", &len);
printf("请输出选票:\n");

for(i=0; i < len; i++)
scanf("%s", iname);

for(i=0; i < len; i++)
{
if( strcmp((pArr+0)->name,iname) == 0 )
(pArr+0)->icount += 1;
else if(strcmp((pArr+1)->name,iname) == 0 )
(pArr+1)->icount += 1;
else if(strcmp((pArr+2)->name,iname) == 0 )
(pArr+2)->icount += 1;
else
continue;
}

printf("%s,%d\n", (pArr+0)->name, (pArr+0)->icount);
printf("%s,%d\n", (pArr+1)->name, (pArr+1)->icount);
printf("%s,%d\n", (pArr+2)->name, (pArr+2)->icount);

return 0;
}


输出
请输入第1位候选人的姓名:a
请输入第2位候选人的姓名:b
请输入第3位候选人的姓名:c
请输入有多少张选票:3
请输出选票:
a
b
c
c,-842150448
屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯葺葺?-842150451
屯屯屯屯屯屯屯屯屯屯屯屯葺葺?-842150451
Press any key to continue

求解答
感谢帮助

[解决办法]
VS出现“屯”和"烫“基本都是因为没有初始化内存产生的
pArr = (struct person *)malloc(3 * sizeof(struct person));
memset(pArr,0,3*sizeof(struct persor));

加上这句试试

热点排行