|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- int i=-1;
- char str[100];
- do
- {
- i++;
- scanf("%c",&str[i]);
- }while(str[i]!='#');
- puts(str);
- return 0;
- }
复制代码 当你输入 8/(5+2)-6# 这个字符串的时候,输出末尾会有一个@的符号,这是为什么呀
因为‘@’本来就在那个位置啊,
写了个函数ShowStrData(),自己运行一下,看看string里的数据是如何变化的
- #include<stdio.h>
- void ShowStrData(char* sz,int size){
- int i;
- printf("\n");
- for (i=0;i<size;++i){
- printf(" %02X",sz[i]);
- }
- printf("\n");
- for (i=0;i<size;++i){
- if (sz[i]<=31 || sz[i]>=127) printf(" __");
- else printf(" %c",sz[i]);
- }
- printf("\n");
- }
- int main()
- {
- int i=-1;
- char str[100];
- ShowStrData(str,20);
- do
- {
- i++;
- scanf("%c",&str[i]);
- }while(str[i]!='#');
-
- ShowStrData(str,20);
- puts(str);
- return 0;
- }
复制代码
|
|