瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 哪里出错了/
1糖果 - 2006-9-22 20:19:00
#include "stdio.h"
#include "conio.h"
void main()
{
    char a[4]="我";
    printf("%c\n",a[4]);
    getch();
}

为什么结果输出的不是"我"而是"?"
如果编写错误,那要怎样才能输出"我"?
1糖果 - 2006-9-22 20:28:00
#include "stdio.h"
改成#include "conio.h"
void main()
{
char a[4]="我";
printf("%s\n",a);
getch();
}
就行了

问一下%s是什么意思
liuyitiankong - 2006-9-22 20:29:00
#include<stdio.h>
void main()
{
  char a='我';
  printf("请输入已定义的字符\n");
  fflush(stdin);
  a=getchar;
  putchar(a);
}
1糖果 - 2006-9-22 20:50:00
?
Kini - 2006-10-1 23:31:00
char a[4]="我";
printf("%c\n",a[4]);
数组越界了吧,一共四个,从零开始哪有a[4]啊
闪电风暴 - 2006-10-3 9:19:00
char a[4]时,只有
a[0]到a[3]
闪电风暴 - 2006-10-3 9:21:00
由于a[4]这个空间是没有经过定义的.比方说和int a;时,a的值不一定是0;没有经过定义的char[4],因编译器的不同而被初始化为不同的字符,在VC++6.0中会被初始化为'?'
闪电风暴 - 2006-10-3 9:21:00
%s是字符串的格式控制符
1
查看完整版本: 哪里出错了/