void main()
{
char c;
clrscr();
printf("Enter your name:\n");
scanf("%s", c);
printf("You entered your name as : \n")
printf("%s",c);
getch();
}
output//
Enter Your name:
sandeep
You entered your name as :
sandeep
我不明白这个单个字符变量'c'如何存储字符串,当它不是一个字符数组?这个代码是如何工作的C
它只是在意外工作*。你正在写入你不属于自己的记忆。更不用说你通过不匹配格式说明符和实际传递的数据来调用未定义的行为。 – DCoder 2012-07-08 05:40:29
如果你的名字足够长,你会达到一个段违规错误 – 2012-07-08 05:52:00
@DCoder:亲爱的朋友,我也是一个程序员,我也知道这是一个错误的程序,&outcum shud不像我展示的方式。但是我想知道为什么这个代码每次都给n以上的输出。我也在不同的系统上试过这个代码。 – 2012-07-09 13:21:04