| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 819 人关注过本帖
标题:指针运用及函数调用,求高手指教!!!
只看楼主 加入收藏
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
回复 10楼 多余的流星
什么问题?
2011-06-21 20:04
多余的流星
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2011-5-2
收藏
得分:0 
回复 11楼 voidx
如果直接 输入0的话,不能按照你程序编写的运行,可以稍微修改一下就可以了

int main()
{
    char s[100][100];
    int n, i;
    printf("How many strings will give me? (1 ~ 100) ");
loop:scanf("%d", &n);
     while(n==0){printf("I need a number between 1 and 100 \n");
     goto loop;}
    printf("please input the strings you want to sort:\n");
    while (getchar() != '\n');
    for (i = 0; i < n; i++) {
        gets(s[i]);
    }
    sort_chars(&s[0][0], 100, n);
    printf("\nAfter sorting, the strings look like these:\n");
    for (i = 0; i < n; i++) {
        puts(s[i]);
    }
    return 0;
}
2011-06-21 20:16
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
回复 12楼 多余的流星
最好不要用 goto。可以改成下面这样:
while(scanf("%d", &n) == 0 || n == 0) {
    printf("I need a number between 1 and 100 ");
    while (getchar() != '\n');
}


这样写的话,即使你输入字母也没关系。但是,改成你那样,输入字母的话,程序运行过程是怎样就不可预知了。
因为在 scanf("%d", &n) 之前你没有为 n 赋过值。所以,如果这里输入字母的话,n 的值就是随机的~

[ 本帖最后由 voidx 于 2011-6-21 20:23 编辑 ]
2011-06-21 20:21
蓝日风樱
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2011-6-21
收藏
得分:1 
回复 多余的流星
帮忙顶一下

[ 本帖最后由 蓝日风樱 于 2011-6-21 20:32 编辑 ]
2011-06-21 20:28
多余的流星
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2011-5-2
收藏
得分:0 
回复 7楼 hugh浪迹
谢谢!!
2011-06-21 20:54
快速回复:指针运用及函数调用,求高手指教!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014614 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved