2017-05-08 39 views
3

我正在制作一个C语言程序,它打印ASCII值的字符串/文字包括空格。该项目工程罚款,并给字符串包含空格的确切ASCII值,但问题是,它也打印在所有的ASCII值结束“10”。C程序中的字符串

这是我的代码:

#include<stdio.h> 
#include<conio.h> 
int main() 
    { 
     char str[100]; 
     int i; 
     printf("Enter a string: "); 
     fgets(str,100,stdin); 
     //scanf("%s",str); 
     printf("String is: %s\n",str); 
     printf("ASCII value in Decimal is: "); 
     for(i=0; str[i]!='\0'; i++) 
     { 
      printf("%d ",str[i]); 
      } 
      printf("\n"); 
    getch(); 
}            

请帮助我,告诉我出了什么问题以及如何解决它。提前致谢。

+2

'10'是换行字符。 – tkausl

+2

这是时间阅读[手册页'fgets'(https://msdn.microsoft.com/en-us/library/c37dh6kf.aspx),它说:*” ......换行符,如果读,包括在字符串中。*” –

+0

日Thnx @xing它的工作 –

回答

0

当你阅读与fgets一个字符串输入您按包含字符串(man page)英寸对于\n ASCII码是10