继续 char() 的问题

LI-O 2014-01-25 11:40:50
#include<stdio.h>
int main(void)
{
char a[40];
scanf("%s",a);
if (a>1)
{
char a[1];
printf("%c\n",a);
}
else
printf(" %s\n",a);
return 0;
}
我突然发现 a[40]也许能影响 printf("%c\n",a); 语句, 于是 建立了一个
char a[1];
本意是 char a='字符'
输出 字符,
然后,,悲剧产生,, 求解。 我觉得 应该有一个语法能够解决我的问题。
...全文
147 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011043553 2014-01-26
  • 打赏
  • 举报
回复
if (a>1)
这错了吧。 我根据你稍微修改了一下,不懂你什么意思
#include<stdio.h>
#include<string.h>
int main(void)
{ 
    

	char a[40];
    scanf("%s",a);

    if (strlen(a)<=1)
         {
         
         printf("%s\n",a);
         }
     else
        printf(" %s\n",a);
     return 0;
}
赵4老师 2014-01-26
  • 打赏
  • 举报
回复
其实电脑开机后物理内存的每个字节都是可读写的,区别仅在于操作系统内存管理模块在你读写时是否能发现并是否采取相应动作而已。操作系统管理内存的粒度不是字节而是页,一页通常为4KB。
max_min_ 2014-01-26
  • 打赏
  • 举报
回复
说清楚下你的目的和疑惑吧
熊熊大叔 2014-01-26
  • 打赏
  • 举报
回复
字符和字符串是两个不同的类型, 你到底想要那个?
LI-O 2014-01-26
  • 打赏
  • 举报
回复
引用 7 楼 truelance 的回复:
从你描述的逻辑是这样的

#include<stdio.h>
#include<string.h>
int main(void)
{ 
    char a[40];
    scanf("%s",a);
    if (strlen(a)==1)
         {
         printf("%c\n",a[0]);
         }
     else
        printf(" %s\n",a);
     return 0;
}
不过如果你只是打印的, 和下面的程序没差别

#include<stdio.h>
int main(void)
{ 
    char a[40];
    scanf("%s",a);
    printf(" %s\n",a);
    return 0;
}
谢了,了解。/ 做死的行为
汗晕倒 2014-01-26
  • 打赏
  • 举报
回复
都是打印字符串,干嘛要区分这个,如果只有一个字符,那你打印字符和字符串有啥区别?? 钻牛角尖浪费时间啊。
熊熊大叔 2014-01-26
  • 打赏
  • 举报
回复
从你描述的逻辑是这样的

#include<stdio.h>
#include<string.h>
int main(void)
{ 
    char a[40];
    scanf("%s",a);
    if (strlen(a)==1)
         {
         printf("%c\n",a[0]);
         }
     else
        printf(" %s\n",a);
     return 0;
}
不过如果你只是打印的, 和下面的程序没差别

#include<stdio.h>
int main(void)
{ 
    char a[40];
    scanf("%s",a);
    printf(" %s\n",a);
    return 0;
}
LI-O 2014-01-26
  • 打赏
  • 举报
回复
引用 2 楼 max_min_ 的回复:
说清楚下你的目的和疑惑吧
定义 a 【40】 输入 一个字符串 给 a 如果 a 获得的 字符串 的字符单位大于 1; 输出 字符 ; 所以用 %c; 否则 else 输出 字符串 所以用 %s; 结束/。
LI-O 2014-01-26
  • 打赏
  • 举报
回复
引用 1 楼 truelance 的回复:
字符和字符串是两个不同的类型, 你到底想要那个?
定义 a 【40】 输入 一个字符串 给 a 如果 a 获得的 字符串 的字符单位大于 1; 输出 字符 ; 所以用 %c; 否则 else 输出 字符串 所以用 %s; 结束/。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧