所以我一直在編寫一個程序,它將一個十進制數轉換爲它的布爾表示,但是每次我編譯返回值是一個字符串顯示額外的像p┐這裏的字符是程序如何在c中打印一個沒有p┐的字符串
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main (void)
{
signed char str[256];
int dec,rest;
int i = -1;
int j;
printf ("write a decimal number : ");
scanf ("%d",&dec);
do
{
rest = dec % 2;
dec/= 2;
for (j=i;j>-1;--j)
str[j+1]=str[j];
str[0]=rest+48;
++i;
} while (dec!=0);
printf ("the binary representation of this number is %s",str);
}
輸出:
write a decimal number : 156
the binary representation of this number is 10011100p┐
我不知道我在想念的東西,但我會很感激,如果你們幫我
你確定你正在創建一個有效的C字符串嗎? –
字符串在C中以NULL結尾。 – LethalProgrammer
索引問題或字符串不是NULL終止。 – Gaurav