C程序没有打印'@'字符

时间:2016-07-20 01:55:10

标签: c

我正在尝试打印一个随机数字的“@”字符,但我的代码是随机打印出来的“\\”。不知道发生什么事只需要一些帮助。

int ran,i;
ran = 1 + (rand() % 25 + 1 );
for (i = 0; i < ran; i++)
    {
        printf("%c", "@");
    }
printf("\n");

2 个答案:

答案 0 :(得分:5)

"@"不是char字面值,%c期望它是字符串文字。使用char文字的单引号:

printf("%c", '@');

答案 1 :(得分:0)

也许这样可行: -

int ran;
char i;
ran = 1 + (rand() % 25 + 1 );
for (i = 0; i < ran; i++)
   {
       printf("%c", i);
   }